【JAVA設計模式】外觀模式

一、定義

外觀模式爲子系統中的一組解耦提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。
理解此模式可以參照經典的三層架構,數據訪問層、業務邏輯層、表示層的層與層之間建立外觀Facade。這樣可以爲複雜的子系統提供一個簡單的接口,使得耦合大大降低。

二、UML類圖

在這裏插入圖片描述

三、實現

  • 包裝類(客戶端調用)
package com.jthao.design.des.facade;

public class Facade {

	public SubSystemOne subSystemOne;

	public SubSystemTwo subSystemTwo;

	public SubSystemThree subSystemThree;

	public Facade() {
		subSystemOne = new SubSystemOne();
		subSystemTwo = new SubSystemTwo();
		subSystemThree = new SubSystemThree();
	}

	public void methodA() {
		subSystemOne.methodOne();
		subSystemTwo.methodTwo();
	}

	public void methodB() {
		subSystemOne.methodOne();
		subSystemThree.methodThree();
	}

}
  • 實現類A(不對外提供)
package com.jthao.design.des.facade;

public class SubSystemOne {
	
	public void methodOne() {
		System.out.println("SubSystemOne 方法");
	}
}
  • 實現類B(不對外提供)
package com.jthao.design.des.facade;

public class SubSystemTwo {

	public void methodTwo() {
		System.out.println("SubSystemTwo 方法");
	}
}
  • 實現類C(不對外提供)
package com.jthao.design.des.facade;

public class SubSystemThree {

	public void methodThree() {
		System.out.println("SubSystemThree 方法");
	}
}
  • 測試類
package com.jthao.design.des.facade;

public class FacadeTest {

	public static void main(String[] args) {
		Facade facade = new Facade();
		facade.methodA();
		facade.methodB();
	}

}

四、更多文章閱讀

【SpringCloud Greenwich版本】彙總
【JAVA設計模式】彙總

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章