byte>;< 2 ->new>byte;*#<P
try>Q
87in+2,P
R>catch>+4 , Q
8C+,P
R
>
5,设计模式:Facade
你正在分析一个子系统的接口,发现接口很多。然后你同事劝你用 Fecade, 问你用 Fecade 有什么好处?
1(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂
性,使子系统更加容易使用。1 模式正是这样一个“门面”:我们本来需要与后台的多个类或者接口
打交道,而 1 模式是客户端和后台之间插入一个中间层——门面,这个门面跟后台的多个类或接口
打交道,而客户端只需要跟门面打交道即可。使用 1 模式可以说是后台设计和编码人员的一个必备
素质。我不止碰到过一个这样的后台开发人员,他们认为只要把后台功能完成了就万事大吉,而没有站在
后台使用者的角度来看一看自己写出来的代码。其实,我们写出来的后台代码是要给别人使用的,所以我
们提供给使用者的接口要越简单越好,这不单是对使用者好,同时对开发者也是好处多多的,至少你的接
口简单了,你和使用者的交流就容易了。
区分 1S 模式、 模式、%= 模式与 模式。1S 模式注重简化接口,
模式注重转换接口,%= 模式注重分离接口(抽象)与其实现, 模式注重稳定接口的前提下
为对象扩展功能
在遇到以下情况使用 Facade 模式:
)当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演化而变得越来越复杂。大多数
模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容易对子系统进行定制,但这也给
那些不需要定制子系统的用户带来一些使用上的困难。 1 可以提供一个简单的缺省视图,这一视
图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过 1 层。
*)客户程序与抽象类的实现部分之间存在着很大的依赖性。引入 1 将这个子系统与客户以及其他
的子系统分离,可以提高子系统的独立性和可移植性。
")当你需要构建一个层次结构的子系统时,使用 1 模式定义子系统中每层的入口点,如果子系统
之间是相互依赖的,你可以让它们仅通过 1 进行通讯,从而简化了它们之间的依赖关系。
优缺点: