디자인 모델 - 구조 형 모델 비교
구조 류 모델 은 계승 을 통 해 클래스 인터페이스 와 실현 을 실현 하 는 조합 으로 이런 모델 은 극히 적다.구조 대상 모델 은 대상 조합 을 통 해 다 중 대상 방법 을 실현 하 는 조합 이다.구조 대상 모델 은 자주 사용 하 는 구조 형 모델 이다.
GoF 는 브 릿 지 모드, 어댑터 모드, 인 테 리 어 모드, 조합 모드, 외관 모드, 향 원 모드 와 프 록 시 모드 등 구조 모드 를 7 가지 로 나눈다.다음은 아 날로 그 방식 을 통 해 모든 모델 의 구체 적 인 실현 을 제시 할 것 이다.
브리지 (Bridge) 모델: 추상 적 인 부분 과 그 실현 을 분리 시 켜 독립 적 으로 변화 시 킬 수 있다.(브 릿 지 모드 와 다른 모드 의 혼합 사용 에 주의 하 십시오. 예 를 들 어 Abstract Factory)
어댑터 (Adapter) 모드: 하나의 인 터 페 이 스 를 고객 이 원 하 는 다른 인터페이스 로 변환 합 니 다. 인터페이스 가 호 환 되 지 않 아 함께 일 할 수 없 었 던 클래스 들 이 함께 일 할 수 있 습 니 다.주의해 야 할 것 은 어댑터 모드 는 두 가지 실현 방식 이 있다.
참가 자: 대상, 클 라 이언 트, 어댑터, 어댑터
1. 클래스 어댑터: Adapter 는 Target 과 Adaptee 를 동시에 계승 하고 Adapter 에서 Adaptee 의 구체 적 인 방법 으로 Target 의 요청 방법 을 실현 합 니 다.(공유 상속 Target, 사유 상속 Adaptee)
2. 대상 어댑터: Adapter 는 Target 만 계승 하고 클래스 에 Adaptee 의 대상 을 포함 하 며 Adaptee 대상 방법 에 대한 호출 을 통 해 Target 을 실현 하 는 방법 을 요청 합 니 다.
장식 (Decorator) 모드: 대상 에 게 동적 으로 추가 적 인 직책 을 추가 합 니 다.
참가 자: Component, ConcreteComponent, Decorator, ConcreteDerator
구체 적 실현: Decorator 계승 Component, 그리고 Component 대상 지침 포함
int main()
{
Component *com = new Component();
Decorator *dec = new Decorator(com);
dec -> Operation(); // operation Component
}
조합 (Composite) 모델: 대상 의 조합 을 트 리 구조 로 하여 '부분 - 전체' 의 차원 구 조 를 나타 낸다.지적 해 야 할 것 은 조합 모델 과 장식 모델 은 비슷 한 형식 화 된 표현 을 가지 지만 이들 의 중심 과 용 도 는 크게 다르다 는 것 이다.조합 모델 은 대상 의 표현 에 중심 을 두 고 장식 모델 은 대상 기능 의 확장 을 더욱 중시한다.둘 다 부모 클래스 를 가리 키 는 지침 을 유지 하고 있 지만 장식 모드 는 이 를 통 해 실 행 될 때 원래 의 기능 을 지정 하고 조합 모드 는 실 행 될 때 지정 한 대상 의 조합 입 니 다.
외관 (Facade) 모드: 시스템 의 인터페이스 에 일치 하 는 인 터 페 이 스 를 제공 합 니 다.
실현: 외관 류 는 모든 서브 시스템 의 대상 포인터 와 하나의 방법 으로 인 터 페 이 스 를 포장 하고 이 인터페이스 에서 서브 시스템 의 모든 서브 인 터 페 이 스 를 실현 합 니 다.
향 원 (Flyweight) 모델: 공유 기술 을 활용 하여 대량의 입자 도 를 효과적으로 지원 하 는 대상.향 원 모델 의 중점 은 외부 특징 과 내부 특징의 개념 을 도입 하 는 것 이다. 구체 적 인 향 원 자 류 는 아버지 류 의 내부 특징 을 통합 시 키 고 자신의 외부 특징 을 넣 어 더 많은 자 류 를 생 성 하 는 것 이다.사용 자 는 향 원 공장 에 서로 다른 키 값 을 입력 하여 서로 다른 향 원 자 류 를 색인 합 니 다.
프 록 시 모드: 이 대상 에 대한 접근 을 제어 하기 위해 다른 대상 에 게 프 록 시 를 제공 합 니 다.프 록 시 모드 는 사용자 가 기능 대상 인터페이스 에 직접 접근 하지 않 고 프 록 시 대상 을 통 해 간접 적 으로 접근 하 는 것 과 같다.
주의: 아 날로 그 는 에서 따 왔 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Web Design The Missing Link】Appendix: Other Approaches to Representing Links우리가 알고 있는 JSON의 링크를 나타내는 다음 가장 간단한 방법은 다음과 같다. 이 모드의 장점은 - 이 모드만 알면 - 외부 정보를 포함하지 않고 URL 값을 가진 모든 속성을 찾을 수 있다는 것입니다.또한 추...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.