학습 디자인 패턴 - 리더

우리는 7 점의 지식이 필요합니다

  1. 객체 지향 네 가지 속성 : 캡슐화, 추상화, 상속, 다형성,
  2. 객체 지향 프로그래밍 및 프로세스 지향 프로그래밍 및 링크의 차이
  3. 객체 지향 분석, 객체 지향 설계, 객체 지향 프로그래밍
  4. 추상 클래스와 인터페이스 및 해당 응용 프로그램 시나리오의 차이
  5. 인터페이스 기반의 디자인 아이디어를 프로그래밍 구현하기보다는
  6. 디자인 사고 덜 상속의 다목적 조합
  7. 빈혈 모델 프로세스 중심 및 울혈의 객체 지향 모델

디자인 원칙

디자인 원칙은 우리의 코드가 배운 교훈을 설계 안내합니다. 각 설계 원칙을 위해, 우리는 어떤 시나리오를 프로그래밍 문제를 해결할 수있는이 설계되어 있음을 알 필요가있다. 이 방법 밖에 우리 프로젝트 이러한 원칙을 유연하게 적절한 응용 프로그램에서 할 수 있습니다.
일반적인 디자인 원칙 :

  • SOLID 원칙 -SRP 단일 책임 원칙
  • SOLID 원칙 -OCP 개폐의 원리
  • 교체 원칙적으로 -LSP SOLID 원칙
  • SOLID 원칙 -ISP 인터페이스 독방 원리
  • SOLID 원칙 -DIP 의존 관계 역전 원칙
  • DRY 원칙, KISS 원칙, YAGNI 원칙, LOD 법

디자인 패턴

디자인 패턴은 솔루션 또는 디자인 아이디어의 집합을 요약 자주 발생하는 소프트웨어 개발에서 몇 가지 디자인 문제에 대한 것입니다. 코드를 해결하기 위해 대부분의 디자인 패턴은 확장 성 문제이다.
클래식 디자인 모드 23 종. 창조적, 구조, 행동 유형 : 그들은 세 가지 범주로 나눌 수 있습니다.

유형 만들기 1.
단일 모드 실시, 공장 모드 (팩토리 메소드와 추상적 인 공장), 빌더 패턴 : 일반적이다 사용합니다.

하지 일반적으로 사용은 다음과 같습니다 프로토 타입 모델.
구조 2.
일반적으로 사용은 다음과 같습니다 프록시 모드, 브리지 모드, 장식 모드, 어댑터 모드.
일반적으로 사용되지 않습니다 외관 모드, 복합 모드, 플라이급.

행동 3.
일반적으로 사용은 다음과 같습니다 관찰자 패턴, 템플릿 모드, 전략 패턴, 책임 패턴, 반복자 패턴, 주 패턴의 체인.
일반적으로 사용되지는 다음과 같습니다 방문자 모드, 메모 모드, 명령 모드, 인터프리터 모드, 중간 모델.

프로그래밍 사양

문제를 해결하기 위해 주로 사양을 프로그래밍하면 코드의 가독성입니다. 디자인 원칙에 대한 표준 코딩, 코드의 세부 사항에,보다 구체적으로 더 강조 패턴을 디자인합니다.

당신이 모르는 디자인 패턴의 설계 원칙에 익숙하지만,하지 않을 수 있습니다하더라도 당신은해야 적어도 마스터에서 같은 방법 코드 주석을, 기능이 너무 오래, 너무 매개 변수를 작성하는 방법 변수, 클래스, 함수 이름에 같은 기본적인 코딩 표준, 점점 더 많은.

많은 책이 (예 : "재건" "코드 완료" "코드 깔끔한 방법", 등) 아주 좋은 넣어 것을 고려, 표준 코딩하십시오.

리팩토링

소프트웨어 개발에서 한 소프트웨어가 지속적으로 반복 한, 한 번 모두를위한 디자인이 없습니다. 요구 사항이 변경되면, 코드가 말뚝 유지, 원래의 디자인은 확실히 문제의 같은 종류의 존재합니다. 이러한 문제를 해결하기 위해, 우리는 리팩토링 할 필요가있다. 재건은 소프트웨어 개발의 매우 중요한 측면이다.

계속 재구성 효과적으로 절망적으로 손상의 코드를 방지 할 수 감소하지 않는 코드 품질을 유지하는 효과적인 수단이다. 재구성 도구는 우리 객체 지향 설계, 설계 원칙, 디자인 패턴, 코딩 표준 앞에 나열됩니다. 사실, 디자인 아이디어, 디자인 원칙, 디자인 패턴은 시간의 재구성에서 가장 중요한 애플리케이션 시나리오입니다.

디자인 패턴의 사용은 코드의 확장 성,하지만 과도한의 부적절한 사용을 향상시킬 수 있지만, 코드의 가독성에 영향을 미치는, 코드의 복잡성을 증가시킬 것이다. 개발의 초기 단계에서, 당신은해야하지 않는 한, 오버 디자인, 응용 프로그램 디자인 복잡한 패턴을하지해야합니다. 코드에 문제가있을 때, 우리는 그 문제에 대한 복원 원칙과 패턴을 적용합니다. 이것은 효과적으로 초기 과다 설계 방지 할 수 있습니다.

이 부분의 재건를 들어, 다음과 같은 점에 대한 지식이 필요합니다 :

  • 목적 (이유) 오브젝트 (무엇), 타이밍 (), 방법 (방법) 재구성;
  • 재건 기술은 오류가 보장하지 않습니다 단위 테스트 및 코드의 테스트 용이성을;
  • 두 개의 서로 다른 크기의 재건 : 대형 (대규모 높은 수준)의 재건과 작은 재건 (소규모 낮은 수준).

추천

출처www.cnblogs.com/Utah-Lee/p/12390551.html