디자인 모델 (7) 외관 모델 (Facade)
2417 단어 디자인 모드
외관 모델 은 서브 시스템 이 대외 적 으로 제공 하 는 인 터 페 이 스 를 위해 통 일 된 인 터 페 이 스 를 제공 하 는 것 이다. 다른 시스템 이 이 시스템 에 대한 접근 은 모두 같은 인터페이스의 인 터 페 이 스 를 통 해 이 루어 진다.
외관 모델 은 주로 세 부분 으로 구성 되 는데 하 나 는 중간 류, 즉 Facade 류 로 서브 시스템 과 연락 하여 대외 적 인 인 인 터 페 이 스 를 제공 하 는 것 을 책임 진다. 하 나 는 여러 개의 서브 시스템 이 고 하 나 는 클 라 이언 트 가 Facade 류 를 통 해 서브 시스템 의 기능 을 조작 하 는 것 이다.
여기 서 간단 한 공장 에서 모자, 이불, 펜 을 생산 하여 소비자 에 게 판매 하 는 과정 을 통 해 Facade 류 의 앞 뒤 비교 로 Facade 모델 을 간단하게 이해 합 니 다.
Facade 모드 의 원리 도:
UML 부분 에 대한 이해 가 조금 더 명확 해 졌 습 니 다. 앞 에 UML 이 불합리한 부분 이 많아 서 배 울 수 있 습 니 다.
http://blog.csdn.net/zhengzhb/article/details/7187278
일반 기초 디자인:
package com.designpattern.facade;
public class HatFactory {
public static void saleHat() {
System.out.println("sale a hat");
}
}
package com.designpattern.facade;
public class CapFactory {
public static void saleCap() {
System.out.println("sale a cap");
}
}
package com.designpattern.facade;
public class PenFactory {
public static void salePen() {
System.out.println("sale a pen");
}
}
package com.designpattern.facade;
public class Client {
public static void main(String[] args) {
CapFactory.saleCap();
HatFactory.saleHat();
PenFactory.salePen();
}
}
이렇게 하면 고객 이 각종 상품 을 사고 싶다 면 반드시 직접 공장 과 연락 한 후에 상품 을 사 야 하 는데 실현 하기 에는 매우 번거롭다.
그러나 다음 과 같은 Facade 류 를 도입 하면 훨씬 간단 하 다. 구체 적 인 조작 은 다음 과 같다.
package com.designpattern.facade;
public class Facade {
public static void saleHat() {
HatFactory.saleHat();
}
public static void saleCap() {
CapFactory.saleCap();
}
public static void salePen() {
PenFactory.salePen();
}
}
package com.designpattern.facade;
public class Client {
public static void main(String[] args) {
Facade.saleCap();
Facade.saleHat();
Facade.salePen();
}
}
이렇게 하면 고객 이 상품 을 살 때 Facade 상점 에 가면 됩 니 다. 직접 상점 에 가서 사고 싶 은 것 을 사면 됩 니 다. 구체 적 인 상점 과 공장 이 어떻게 연락 하 는 고객 은 신경 쓰 지 않 아 도 됩 니 다. 그러면 클 라 이언 트 프로그래머 에 게 매우 간편 하고 실행 가능 합 니 다.일부 좋 은 지구 층 의 구조 도 이런 디자인 모델 로 좋 은 사용자 체험 을 할 수 있다.
외관 모델 은 통 일 된 대외 인 터 페 이 스 를 제공 함으로써 외부 시스템 과 서브 시스템 간 의 직접적인 관 계 를 피하 고 시스템 간 의 의존 과 복잡 도 를 낮 춘 다.그러나 외부 시스템 이 서브 시스템 호출 에 대한 유연성 을 제한 하고 외관 류 에서 제공 하 는 방식 으로 서브 시스템 을 호출 할 수 밖 에 없다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.