首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

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

2012-09-12 
菜鸟硕枫设计模式系列之11 外观模式外观模式,一种封装底层实现的模式。使得调用者不用关心谁去具体的完成功

菜鸟硕枫设计模式系列之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();}}

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


热点排行