跟着《软件秘笈---设计模式那点事》学习
定义:
外观模式(Facade Pattern),是软件工程中常用的一种软件设计模式。它为子系统中的一组接口提供一个统一的高层接口,使子系统更容易使用。外观模式通过一个外观接口读/写子系统中个借口的数据资源,而客户可以通过外观接口读取内部资源库,不予子系统产生交互。
角色:
1、外观巨蟹(Facade):构成系统内部复杂子系统的单一窗口,对系统外部提供更高一级的接口API
2、子系统角色:
3:客户端角色:不关心子系统角色
类图:
实例:
这模式不需要例子,一图胜百言。
分析:
设计原则:
1、迪米特法则----最少知识原则。
2、封装变化部分
使用场合:
(1)系统复杂度高,需要一个更高级别的简单接口简化子系统的操作时
(2)当使用端与实现类之间有太多相依性,需要降低使用端与子系统或子系统之间的耦合
(3)当子系统是相互 依存的
一句话总结:
用一个外观接口,封装各子系统接口的调用以及调用顺序。
Java SDK中的原型模式:
我认为任何一个框架比如Netty,都是外观模式的体现,其中
参考资料:
《软件秘笈---设计模式那点事》