개요
내부 서브 시스템과 통신 할 때는 외관 모드 인 외관 모드 인 Unified allosance 모드 객체를 통해 수행해야합니다. 일반적으로, 정면 패턴은 클라이언트와 구현 계층 간의 의존성을 줄이는 것입니다. 외관 모드의 목적은 하위 시스템에 중앙 집중식 및 단순화 된 통신 채널을 제공하는 것입니다.
UML 클래스 다이어그램
위의 UML 다이어그램에는 세 문자가 나타납니다.
클라이언트 역할 : 사용자는 클라이언트를 통해 외관 패턴 클래스를 호출하여 서브 시스템을 작동합니다.
FARSADE : 클라이언트는이 클래스를 호출 할 수 있으며, 여기에는 호출 서브 시스템의 특정 기능이 포함되어 있습니다.
서브 시스템 역할 (모듈) : 하위 시스템의 특정 개별 기능을 정의합니다.
Code example:
패키지 인터뷰; class modulea {public void testa () {system.out.println ( "modulea in modulea"); }} class moduleb {public void testb () {system.out.println ( "moduleb의 메소드"); }} class modulec {public void testc () {system.out.println ( "modulec의 메소드"); }} 클래스 외관 {public void testa () {modulea modulea = new modulea (); modulea.testa (); } public void testb () {moduleb moduleb = new ModuleB (); moduleb.testb (); } public void testc () {modulec modulec = new modulec (); modulec.testc (); }} public class maintest {public static void main (String arg []) {Facade Facade = New Facade (); Facade.testa (); Facade.testb (); Facade.testc (); }} 위의 코드에서, Facade 클래스는 모듈레아, 모듈 및 모듈 크 모듈의 모양 인터페이스 역할을합니다. 이 클래스를 통해 클라이언트는 서브 시스템의 ABC 모듈을 직접 호출 할 필요가 없으며 시스템 내부의 세부 사항을 알 필요가 없으므로 클라이언트와 시스템 간의 분리를 더 잘 구현할 필요가 없습니다.
동시에 외관 모드를 사용하여 방법을 선택적으로 노출시킬 수 있습니다. 모듈에 정의 된 방법은 부분적으로 서브 시스템 외부에서 사용하기 위해 두 부분으로 나눌 수 있으며 부분적으로 서브 시스템 내부의 모듈이 서로 호출 될 때.
외관 모드의 장점
모양 패턴은 클라이언트와 서브 시스템 간의 커플 링 관계를 느슨하게하여 서브 시스템 내에서 모듈을보다 쉽게 확장하고 유지할 수 있습니다.
서브 시스템을 쉽게 사용할 수 있도록하십시오. 클라이언트는 더 이상 서브 시스템의 구현을 이해할 필요가 없으며 서브 시스템의 많은 내부 모듈과 상호 작용할 필요가 없습니다. 외관 클래스와 만 상호 작용하면됩니다.
액세스 수준을 더 잘 나누는 데 도움이 될 수 있습니다. 일부 방법은 시스템 외부에 있고 다른 방법은 내부적으로 사용됩니다. 집중 기능은 외부에 스토어 프론트에 노출되어야하는 기능으로 클라이언트가 사용하기 편리 할뿐만 아니라 내부 세부 사항을 잘 숨 깁니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.