내부 장기 심장의 건축가의 설계 원칙

내부 장기 심장의 A. 설계자의 설계 원칙

1. 왜 소프트웨어 아키텍처 설계 원리를 배울 수

1.1. 과정 목표

  1. 수업 내용을 학습함으로써, 설계 원칙의 중요성을 이해합니다.
  2. 일곱 설계 원칙의 구체적인 내용을 이해합니다.

1.2. 컨텐츠 타겟팅

기본적인 디자인 패턴을 학습 설계 원리를 학습. 받는 실제 개발 과정에서 반드시 모든 코드가 설계 원칙을 따르는 것을 요구, 우리는 인력, 시간, 비용, 품질, 완벽하지 의도적으로 추구 고려해야합니다, 적절한 장면 설계 원리를 다음의 표현이다 절충 , 우리가 더 우아한 코드 구조를 설계하는 데 도움이.

1.3. 세븐 설계 원칙

  • [X] 제 1 장 오픈 폐쇄 원칙 셔터 원리
  • [X] 제 2 반전 의존성 원칙 의존 관계 역전 원칙
  • [X] 제 3 장 간단한 책임 원칙 단일 책임 원칙
  • [X] 제 4 인터페이스 편석 원리 인터페이스 편석 원리
  • 데메테르 데메테르의 [X] 제 5 법칙
  • [X] 제 6리스 코프 치환 원칙 릭터 교체 원리
  • [X]는 제 7 복합 및 골재 재사용 원리 원리를 다중화하는 합성

1.3.1. 개방 - 폐쇄 원칙

  • 정의
    • 닫기 원리 (개방 폐쇄 원칙 OCP)는 이러한 클래스 모듈과 기능 확장을 위해 개방되어야 같은 소프트웨어 엔티티를 지칭
      하지만, 변형 예에 대해 폐쇄. 소위 개폐, 또한 확장하고 두 동작을 수정하는 원칙이다. 강조 확장을 달성하기 위해 세부, 추상 프레임을 구축하는 것입니다.
    • 열기 및 객체 지향 설계의 원리를 폐쇄하는 것은 가장 기본적인 설계 원칙이다. : 우리가 예를 들어, 안정적이고 유연한 시스템을 구축하는 방법을 안내 내가 소스 코드를 수정하지 않으려 고, 우리는 버전 업데이트,하지만 당신은 새로운 기능을 추가 할 수 있습니다.
    • 개방의 원칙을 구현하고 핵심 아이디어를 폐쇄하는 추상적 지향 프로그래밍이다.
  • 개요
    • 확장 오픈, 수정을 위해 휴관
    • 간단하게 말해서 : 그냥 원래 구현 클래스를 수정할 수 있지만 새로운 구현 클래스를 작성하지 않습니다.
    • 단점 : 코드 부풀게로 이어질 수 있습니다.

1.3.2. 의존 관계 역전 원칙

  • 정의
    • 종속성 반전 원리 (반전 의존성 원칙 DIP) 코드 구조는 설계에 참조하면, 모듈은 상승하지 않아야
      추상화 의존한다 둘 라이 바닥 모듈. 추상은 세부 사항에 의존해서는 안, 세부 사항은 추상적 인에 의존해야한다. 수 반전 의존함으로써
      , 시스템의 안정성을 향상시키기 위해 코드의 가독성 및 유지 보수성을 개선하고, 프로그램이 야기되는 위험을 줄이기 위해 변형 될 수있는 클래스와 클래스 사이의 결합을 감소시킨다.
    • 우리는 요구가 프로그래밍 인터페이스를 지향하는 이후에 첫 최고 수준의 세부 코드 구조를 재 설계하여 얻을 수 있도록 추상 기초 인프라를 구축을 참조하여 상세히보다 훨씬 더 안정적이다.
  • 개요
    • 반전 : 첫 번째 프레임을, 세부 사항 후에.

1.3.3. 단일 책임 원칙

  • 정의
    • 클래스 변화보다 더 많은 원인이 될 수 있습니다 이유가 단일 책임 (단순 책임 원칙, SRP)을 의미합니다. 거짓
      우리가 책임의 두 영역을 담당하는 클래스가 세트는 수요가 변경되면, 논리의 책임으로 이어질 수있는 코드를 수정하는
      또 다른 실패의 기능적 책임을. 그 결과, 두 개의 클래스이 리드는 급 변화에 이유가있다. 어떻게이 문제를 해결하기 위해?
      우리는 클래스 감이 책임을 사용하여 달성이 된 것입니다. 후 유지 보수 요구 사항은 서로 독립적으로 변경합니다. 이 디자인은
      클래스의 복잡성을 줄일 수 있습니다, 클래스 변경으로 인한 위험을 감소, 가독성, 시스템의 증가 유지 보수성을 향상시킵니다. 전체와 하나입니다
      창 클래스 / 인터페이스 / 메소드 의무에 대해서만 책임이 있습니다.
  • 개요
    • 단일 책임
    • 클래스 단 한 가지

1.3.4. 인터페이스 독방 원리

  • 정의
    • 인터페이스 분리 원칙 (인터페이스 편석 원리 ISP)가 지칭 전용 인터페이스 다수 가하지 않는 인터페이스 대신에 총 단일 인터페이스를 사용하는 대신, 클라이언트는 의존해서는 안된다. 다음 사항을주의해야한다 인터페이스의 디자인으로 우리를 인도 원칙 :
      1. 클래스 의존 클래스가 설립되어야 최소한 인터페이스 상술.

      2. 단일 인터페이스의 설립은, 비 대한 인터페이스를 작성하지 않습니다.
      3. 시도 인터페이스 수정 (안 더 적합해야합니다) 가능한 한 적게, 인터페이스 메소드.
    • 우리의 디자인 철학에 맞춰 인터페이스 분리의 원칙은 종종 클래스가 좋은 가독성, 확장 성이 그래서, 높은 응집력과 낮은 커플 링 말
      과 유지 보수를. 우리는 일이 변경 될 수 있습니다 미래를 포함하여 비즈니스 모델을 고려, 시간을 보내고, 시간의 인터페이스의 디자인에 대해 생각해야
      할 필요가 일부 미리 판단 할 경우. 그래서, 비즈니스 모델의 추상적 인 이해를 위해 매우 중요하다.
  • 개요
    • 인터페이스 분리 단일 책임 원칙과 구별의 원칙?
    • 인터페이스 절연 : 인터페이스에 참조
    • 단일 책임 : 클래스와 방법을 말한다

1.3.5. 데메테르

  • 정의
    • 디미트리 원리 (디 미터의 LOD 법)라고도 다른 목적 최소 이해에 유지 대상물을 지칭 최소 알려진 원리 (최소 지식 원칙 LKP)는, 클래스와 클래스 사이의 결합을 최소화한다. 주요 중점과 친구와 통신 디미트리 원칙은, 낯선 얘기하지 않습니다. 멤버 변수, 프로세스 입력 및 출력 매개 변수에 나타납니다, 클래스 친구 반원을 호출 할 수
      반원 친구 카테고리에 속하지 않는 현재의 방법의 내부에서.
  • 개요
    • 참조 액세스 한정자
  • 중합 성 조성물 대

    • 중합 반응 : 개인 및 그룹
    • 의 조합 : 머리와 몸, 같은 라이프 사이클

1.3.6. 리히터 대체 원칙

  • 정의
    • 타입 T1의 O1의 모든 오브젝트에 대해, 존재하는 경우 리히터 교체 원리 (리스 코프 치환 원칙, LSP) 수단은
      T2, T1 O2 오브젝트의 종류는 모두 정의 프로그램 P가 모두 교체되는 O1 O2 개체 , P가 아닌 프로그램의 동작을
      변경 한 후 타입 T1 T2 타입의 서브 타입이다.
    • 소프트웨어 엔티티로 이해 될 수있다, 부모, 해당되는 경우, 다음
      은 모든 로컬 참조의 부모가 투명하게 하위 클래스의 개체를 사용할 수 있어야합니다, 하위 범주에 적합해야한다, 서브 클래스 객체는 부모 대체 할 수있는
      개체를 프로그램 로직 변경.
    • 확장 된 의미 : 하위 클래스는 상위 클래스의 기능을 확장 할 수 있지만, 원래의 함수의 부모 클래스를 변경할 수 없습니다.
      1. 서브 클래스는 추상 상위 클래스를 구현할 수 있지만, 비 추상 상위 클래스는 적용되지 않을 수 있습니다.
      2. 서브 클래스는 자신의 독특한 방법을 추가 할 수 있습니다.
      3. 상위 클래스의 서브 클래스의 메소드가 과부하되면, 처리의 사전 조건 (즉,로 / 파라미터를 입력하는 방법)보다 완화 상위 클래스 방식보다 입력 파라미터.
      4. 서브 클래스에있어서의 상위 클래스를 구현하는 방법은 (재 기입 / 또는 추상있어서 과부하를 실행) 할 때, 프로세스의 사후 조건 (즉, 출력 방법
        A / 반환 값)보다 엄격한 부모 동등 이상 또는.
  • 개요
    • 서브 클래스는이 방법을 추가 할 수 있습니다, 원래 부모 클래스 방법을 변경할 수 없습니다.

다중화 원리 1.3.7. 합성

  • 정의
    • 원칙 (합성 / 집계 재사용 원리 잉어 다중화 합성 ) 가능한 객체 조성물 (갖는다-a)는 / 지칭
      대신 소프트웨어 재사용 상속 목적으로, 중합은 (-A를 포함). 당신은 시스템이보다 유연하고 클래스와 클래스 사이의 결합 줄일 수 있습니다
      학위를, 다른 클래스의 클래스의 변화에 상대적으로 작은 영향을 일으켰습니다.
    • 상속 우리라는 화이트 박스 재사용 모두의 실현에 해당, 노출의 세부 하위 클래스를. 구성 / 중합 이라고도 블랙 박스 다중 객체 클래스 이외는되어 구현 세부 획득하지 의를. 특정 비즈니스 시나리오를 기반으로 코드를 디자인하려면, 사실 필요가 OOP에 따라야 할
      모델을.
  • 개요
    • 대신 중합 성 조성물의 다중 상속의 원칙

디자인 원칙 1.4. 요약

기본적인 디자인 패턴을 학습 설계 원리를 학습. 실제 개발 과정에서 반드시 모든 코드의 원래 디자인은 준수해야
우리가에 인력, 시간, 비용, 품질, 완벽하지 의도적으로 추구 고려해야한다 적절한 후속 설계 원칙 장면, 트레이드 오프의 종류를 구현 도움말을 우리는 더 우아한 코드 구조를 설계한다.

추천

출처www.cnblogs.com/amiaojiang/p/12349577.html