一、结构型模式结构型设计模式是从程序的结构上解决模块之间的耦合问题(好像是句废话),GoF23种设计模式中结构型设计模式有7种,分别是:Adapter适配器模式、Bridge桥接模式、Composite组合模式、Decorator装饰模式、Facade外观模式、Flyweight享元模式和Proxy...
分类:
其他好文 时间:
2014-09-14 17:53:37
阅读次数:
236
/* * 外观模式 * 外观模式的主要意义在于简化类的接口,使其易于调用*/// 你常常在不经意中使用了外观模式,尤其类库中更多(处理兼容性问题)var addEvent = function (el, ev, fn) { if (el.addEventListener) { e...
分类:
编程语言 时间:
2014-09-11 18:47:22
阅读次数:
160
1.适配器模式适配器模式是针对接口不一时处理的情况,比如我的类的参数是IInterface1,但是我现在想要调用IInterface2接口的函数,怎么办呢?就是用适配器来解决这个问题:public interface IInterface1(){ public void method1();}...
分类:
其他好文 时间:
2014-09-04 14:37:49
阅读次数:
216
模式定义:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高级接口,该接口使得这一子系统更加容易使用。说白了,就是把不同类中的功能封装到一个类里,由客户端调用,客户端只需关心这一个封装类即可。该模式的本意,是既可以使用封装类调用默认组装规则,也可以使用具体类去自由组装。但这样其实并...
分类:
其他好文 时间:
2014-09-02 19:44:25
阅读次数:
169
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
分类:
其他好文 时间:
2014-09-02 17:34:55
阅读次数:
285
接口型模式 把一个类的接口与一个客户的期望接口进行适配适配器模式(Adapter)为类的集合提供一个简单的接口外观模式(Facade)定义一个接口,使之可以应用于单个对象,也可以应用于对象组合成模式(Composite)将一个抽象于其实现进行分离,使之可以相互独立变化桥接模式(Bridge)职责型模...
分类:
其他好文 时间:
2014-09-01 22:32:43
阅读次数:
313
3、外观模式总结
引入了外观类,解除了客户类与子系统的耦合性。客户类不需要直接操作子系统,而是由外观类负责处理,对客户端而言是透明的,客户类只需要操作外观类就可以了,符合"迪迷特法则"。如果多个地方需要Facade,也就是说外观可以实现功能的共享,也就是实现复用,同样的调用代码只用在Facade里面写一次就好了,不用在多个调用的地方重复写。如果某个系统模块需要修改,只需要修改这个系统模块...
分类:
编程语言 时间:
2014-08-31 23:04:52
阅读次数:
463
2、手机备份软件的设计与实现
某软件公司将开发一款手机备份软件,功能如下:能够对手机中的通讯录,短信,照片这些资源进行备份。通讯录,短信,照片备份是三个独立的模块。请用外观模式对此进行设计。
1.不使用外观模式的实现方式
TelphoneNumber为通讯录备份模块、ShortMessage为短信备份模块、Image为照片备份模块。实现代码如下:
#...
分类:
编程语言 时间:
2014-08-31 21:32:21
阅读次数:
316
模式说明所谓外观模式就是提供一个统一的接口,用来访问子系统中的一群接口。模式结构图程序示例说明:灯光、荧屏、空调、电视一键开启、关闭代码:class Light(object): def on(self): print 'light turn on' def off(sel...
分类:
其他好文 时间:
2014-08-25 16:22:44
阅读次数:
224