读书人

初学者硕枫设计模式系列之11 外观模式

发布时间: 2012-09-12 09:21:30 作者: rapoo

菜鸟硕枫设计模式系列之11 外观模式
外观模式,一种封装底层实现的模式。使得调用者不用关心谁去具体的完成功能操作,解耦了请求者与操作者,封装了细节。外观模式也是一种结构型设计模式。

外观模式类图:


具体demo:
Facade接口:

package facadePattern;public interface Facade {void doA();void doB();}


具体实现:
package facadePattern;public class FacadeImpl implements Facade{private A a;private B b;public void setA(A a) {this.a = a;}public void setB(B b) {this.b = b;}@Overridepublic void doA() {a.doA();}@Overridepublic void doB() {b.doB();}}


A接口:
package facadePattern;public interface A {void doA();}


A实现:
package facadePattern;public class AImpl implements A{@Overridepublic void doA() {System.out.println("hello from taobao");}}



B接口:
package facadePattern;public interface B {void doB();}


B实现:
package facadePattern;public class BImpl implements B{@Overridepublic void doB() {System.out.println("doB,hello from taobao");}}


测试类:
package facadePattern;public class FacadeTest {public static void main(String[]args){A a = new AImpl();B b = new BImpl();FacadeImpl facade = new FacadeImpl();facade.setA(a);facade.setB(b);facade.doA();facade.doB();}}

说明 :说到解耦,在我的理解上,外观模式是封装作用最明显的一个设计模式,使得调用者完全不用关心底层实现由谁去完成。


读书人网 >软件开发

热点推荐