디자인 모드 학습 노트 - 겉치레 모드

더 읽 기
외관 양식
다른 디자인 모델 을 볼 때 책 에서 한 마디 언급 하면 세심 한 독자 들 은 여기 서 외관 모델 을 사 용 했 는데 이 모델 은 너무 흔 해서 무심코 그 를 사 용 했 기 때문에 나 도 이 외관 모델 을 보 았 다.
외관 모델 은 매우 간단 한 모델 로 현 재 를 보면 가장 이해 하기 쉽 고 평소에 사용 해 왔 지만 관례 에 따라 정리 해 야 한다.
외관 모델 은 대상 의 구조 모델 로 외부 와 하나의 서브 시스템 의 통신 이 하나의 통 일 된 외관 을 통 해 진행 되 는 것 을 말한다.
외관 모델 은 고 차원 의 인 터 페 이 스 를 제공 하여 서브 시스템 을 더욱 쉽게 사용 할 수 있다.
 
외관 모드 에는 두 개의 캐릭터 가 포함 되 어 있 습 니 다.
외관 역할 Facade: 클 라 이언 트 가 이 역할 을 호출 합 니 다. 그 는 서브 시스템 의 기능 을 알 고 클 라 이언 트 의 요 구 를 해당 하 는 시스템 에 보 냅 니 다.
서브 시스템 역할 SubSystem: 하나의 결합 으로 클 라 이언 트 요청 과 관련 된 서브 시스템 을 호출 합 니 다.
 
예제 절 차 를 보 세 요. 유형 명 에서 그들 이 맡 은 역할 을 볼 수 있 습 니 다.
서브 시스템
public class SubSystem {
	public void hello(){
		System.out.println("SubSystem says Hello");
	}
	public void bye(){
		System.out.println("SubSystem says Bye");
	}
}
public class SubSystem {
	public void hello(){
		System.out.println("SubSystem says Hello");
	}
	public void bye(){
		System.out.println("SubSystem says Bye");
	}
}
 
Facade 외관 에서 저 에 게 준 개념 은 관리 류 와 비슷 해서 서브 시스템 에 대한 호출 을 모두 여기에 썼 습 니 다.
public class Facade {
	private SubSystem subSystem;
	private SubSystem2 subSystem2;
	public Facade(){
		subSystem=new SubSystem();
		subSystem2=new SubSystem2();
	}
	public void hello(){
		subSystem.hello();
		subSystem2.hello();
	}
	public void bye(){
		subSystem.bye();
		subSystem2.bye();
	}
}
 
실행 해 봐.
public class FacadePattern {
	public static void main(String[] args) {
		Facade facade=new Facade();
		facade.hello();
		facade.bye();
	}
}
 
이것 은 실행 결과 입 니 다:
SubSystem says Hello
SubSystem2 says Hello
SubSystem says Bye
SubSystem2 says Bye
적합 한 경우
1. 복잡 한 서브 시스템 에 간단 한 인 터 페 이 스 를 제공한다.
2 서브 시스템 의 독립 성 향상
3 차원 화 된 구조 에서 Facade 모델 로 시스템 의 모든 층 의 입 구 를 정의 할 수 있다.
 
인터넷 에 서 는 데이터 베 이 스 를 조작 하 는 과정 에서 의 응용 도 언급 했다. 예 를 들 어 패 키 징 데이터 베 이 스 를 조작 한 DAO 층 은 클 라 이언 트 에서 데이터 베이스 사이 에 '외관' 을 추가 하고 '외관' 은 DAO 층 방법 을 호출 하여 관련 조 회 를 실현 하고 처리 후의 결 과 를 되 돌려 준다. 이렇게 하면 클 라 이언 트 가 데이터 베 이 스 를 직접 조작 하 는 것 을 피 할 수 있다.

좋은 웹페이지 즐겨찾기