本文主要是介绍《研磨设计模式》chap3 外观模式Facade,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 场景1
客户自己装机,需要一一去买配件:cpu、主板。。。
找专业的公司,由公司去处理:
2. 场景2
代码生成工具有4个模块
client使用时依次创建3个对象
public class Client {public static void main(String[] args) {//现在没有配置文件,就直接使用默认的配置//通常情况下,三层都应该生成,也就是说客户端必须//对这些模块都有了解,才能够正确使用它们new Presentation().generate();new Business().generate();new DAO().generate();}
}
3. 外观模式
大系统包含子系统
Facade对3个Module都调用
生成一个大系统的外观对象:
//外观对象
public class Facade {//示意方法,满足客户需要的功能 public void test(){//在内部实现的时候,可能会调用到内部的多个模块AModuleApi a = new AModuleImpl();a.testA();BModuleApi b = new BModuleImpl();b.testB();CModuleApi c = new CModuleImpl();c.testC();}
}
客户调用:
public class Client {public static void main(String[] args) {
// //不用Facade,需要自己跟多个模块交互
// AModuleApi a = new AModuleImpl();
// a.testA();
// BModuleApi b = new BModuleImpl();
// b.testB();
// CModuleApi c = new CModuleImpl();
// c.testC();
//
// System.out.println("使用Facade----------------------〉");//使用了Facadenew Facade().test(); }
}
这篇关于《研磨设计模式》chap3 外观模式Facade的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!