디자인 모델 (7) 외관 모델 (Facade)

2417 단어 디자인 모드
외관 모드 (Facade) 는 개인의 말 하기 를 조금씩 바로 잡기 위해 다음 과 같이 말 했다. [f]ə'sɑ:d]
외관 모델 은 서브 시스템 이 대외 적 으로 제공 하 는 인 터 페 이 스 를 위해 통 일 된 인 터 페 이 스 를 제공 하 는 것 이다. 다른 시스템 이 이 시스템 에 대한 접근 은 모두 같은 인터페이스의 인 터 페 이 스 를 통 해 이 루어 진다.
외관 모델 은 주로 세 부분 으로 구성 되 는데 하 나 는 중간 류, 즉 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 상점 에 가면 됩 니 다. 직접 상점 에 가서 사고 싶 은 것 을 사면 됩 니 다. 구체 적 인 상점 과 공장 이 어떻게 연락 하 는 고객 은 신경 쓰 지 않 아 도 됩 니 다. 그러면 클 라 이언 트 프로그래머 에 게 매우 간편 하고 실행 가능 합 니 다.일부 좋 은 지구 층 의 구조 도 이런 디자인 모델 로 좋 은 사용자 체험 을 할 수 있다.
외관 모델 은 통 일 된 대외 인 터 페 이 스 를 제공 함으로써 외부 시스템 과 서브 시스템 간 의 직접적인 관 계 를 피하 고 시스템 간 의 의존 과 복잡 도 를 낮 춘 다.그러나 외부 시스템 이 서브 시스템 호출 에 대한 유연성 을 제한 하고 외관 류 에서 제공 하 는 방식 으로 서브 시스템 을 호출 할 수 밖 에 없다.

좋은 웹페이지 즐겨찾기