설계 원칙: 중복 방식 및 중복 제거 방법
5103 단어 설계 원칙
의식적 반복(게으름의 반복)
문제: A곳의 코드와 B곳의 코드는 매우 비슷하지만 완전히 같지 않다.
원인: 개발자의 게으름이나 기능 부족은 카피식 개발이다.
방안: 템플릿 방법 모델이나 리셋 메커니즘(함수 지침, 의뢰와 인터페이스)을 도입한다.
템플릿 메서드 모드
1 public abstract class TemplateClass
2 {
3 public void Do()
4 {
5 DoCommonStep1();
6 DoCustomStep2();
7 DoCommonStep3();
8 }
9
10 private void DoCommonStep1(){}
11 protect abstract void DoCustomStep2(){}
12 private void DoCommonStep3(){}
13 }
리콜 메커니즘
1 public class TaskClass
2 {
3 public void Do(Action callback)
4 {
5 DoCommonStep1();
6 callback();
7 DoCommonStep3();
8 }
9 }
무의식적으로 반복(자신을 반복)
문제: A곳의 코드와 B곳의 코드는 비슷하지 않지만 완성된 임무는 비슷하다(지식이 중복되었다).
원인: 기능 부족, 지식 라이브러리 부족, 깊은 사고 부족.
방안: 자신의 기술 향상;자신의 지식고 정리하기;자신의 추상적 사유 에너지를 많이 단련하면 어떤 문제는 달라 보이지만 기술적으로 추상을 하면 나무의 두루 훑어보고 보여주는 것과 같은 일치성을 발견할 수 있다.
무의식적으로 반복(다른 사람 반복)
문제: A곳의 코드와 B곳의 코드는 비슷하지 않지만 완성된 임무는 비슷하다(지식이 중복되었다).
원인: 의사소통이 부족하고 메커니즘이 부족하다.
방안: 소통을 많이 하고 내부에서 소통을 많이 하며 지역사회에서 소통을 많이 한다.양호한 소통과 복용 체제를 구축하고 체제와 문화적으로 복용을 장려한다.
직책이 너무 많은 방법
문제: A 방법은 퀘스트 T1과 T2를 완성하고, B 방법은 퀘스트 T2와 T3를 완성하며, T2를 독립된 방법으로 추출하지 않았습니다.
원인: 게으름.
방안: 공공 하위 방법을 추출합니다.
직책이 너무 많은 상속 체계
문제: Class A 완료 작업 M 및 N, A 의 Class A 1 완료 작업 M1 및 N1, A 의 Class A 2 완료 작업 M1 및 N2, M1 중복이 발생했습니다.
원인: 직책이 너무 많다.
방안: 전략 모델이나 다리 모델을 도입한다.
1 public class A
2 {
3 public void N(){}
4
5 public void M()
6 {
7 this. .M();
8 }
9 }
명백한 주석
문제: 프로그램에 쓸데없는 주석이 널리 퍼져 있습니다.
원인: 강박증.
방안: 해석성을 갖춘 변수나 하위 방법을 도입한다.
인터페이스, 영역 및 데이터베이스에 대한 지식 중복
문제: 데이터베이스 필드를 추가하려면 영역 모델과 인터페이스를 수정해야 합니다.
원인: 기술력.
방안: 메타데이터 구동 개발을 도입하고 코드 생성기나 메타데이터 프로그래밍을 사용한다.
문서의 지식 중복
질문: 문서의 지식이 코드의 지식과 일치하지 않습니다.
원인: 절차와 제도 문제.
방안: 현재 좋은 생각을 하지 못했다(미속).
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 디자인 모델 - 디자인 모델 의 6 대 원칙이른바 무 수 승 유 수 라 고 하 는데, 한 가지 쿵 푸 를 연습 하 는 것 은 내공 과 외공 으로 나 뉜 다.외공 은 손짓 과 같 아서 이른바 23 가지 디자인 모델 이다.내공 은 심 법, 그것 이 바로 이 여섯...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.