设计模式学习-每日一记(2.外观模式)
外观模式
A.定义:
为子系统的一组接口提供一个一致的界面,外观模式提供一个高层接口,这个接口是子系统更加容易使用.
B.定义分析:
"为子系统的一组接口提供一个一致的界面,外观模式提供一个高层接口,这个接口是子系统更加容易使用." 做法是提供一个界面,实际就是一组接口.
"为子系统的一组接口提供一个一致的界面,外观模式提供一个高层接口,这个接口是子系统更加容易使用." 这一组接口是为子系统的一组接口提供的.那为什么不直接使用这个子系统的接口,而要重新定义一套,重复造轮子呢?考虑下列情况:
如果子系统中类很多,需要的功能接口分布在不同的类中.
如果子系统设计的领域知识比较晦涩抽象,且让所有开发人员理解和学习时间成本很高.
如果子系统的一些接口不符合常规,很难使用.
实际上,我们重新定义一组接口,这一组接口仅仅定义了我们需要的功能,且是把请求转发到了原来的子系统了里,但是这组接口已经变的很容易使用了.
C.问题
(1)这个模式的好处是什么?
隔离了子系统的复杂性;解耦客户代码和子系统;系统某个层次更加清晰好用