读一读

当产品的种类繁多,产品的某些功能也是多变万化的,这时候就可以用桥接模式了。具体可以查看下面的那张图。(桥接模式实例

20160810164540390.png



20160810164716821.png


foreach in  (迭代器模式实例

5cf5b3f253095b0475fa428fec8c6fbb.jpg


当我们有一个存在的类,需要实现别的接口,方法和属性都相似,当是名称对应不上,这时就需要添加一个适配器实现接口,使用我们的类,将方法属性与之对应。

前提是双方都难以改变的情况下,不然考虑重构共同接口。(适配器模式实例

7b3b913af21df33a646525fc15c84bfb (1).jpg


抽象观察者,实现观察者们,抽象通知者,使用观察者们,当通知者的状态改变,通知观察者们改变自己状态。(观察者模式实例

在通知者中使用委托,在观察者们加入这个委托,当通知者状态改变时,就不用遍历观察者们了,同时也不需要使用观察者们了(抽象观察者就不需要了) 。


a4f791f6ded9ac02d90593c88fafd1ca.jpg


当有一个复杂的对象,具体的构造过程一致。(建造者模式实例

构建抽象类

(继承而成)各种构建类,负责产品的构造

(使用)产品类(汇聚各种组件),提供接口让构建来构建组件

指挥者类使用构建抽象类,组合构建的组件,完成产品构建。

2.jpg


一个外观类关联很多个子系统,需要了解各个系统的方法和属性,组合它们,提供接口给外界使用,外界不需要知道子系统干了些什么。(外观模式实例

比如,基金公司,收了你的钱,帮你炒股、投资银行、债券等,你可以不知道基金公司是怎么投资的,你就只知道每天赚了还是亏了多少。基金公司就是外观类,不同的投资类型是子系统。

1.jpg


创建一个带有克隆自己方法的接口,让有需要的实现。

浅复制,引用类型用的是同一个引用。

深复制,引用类型(接口克隆)变原型。多层

9.jpg


代理和被代理着共同实现一个接口,使得代理能够代替被代理者(代理模式

代理对象拥有调用被代理对象接口的权利,且可以在调用前后做一些其他的处理等,扩展业务处理。

1).远程代理        2).虚拟代理      3).安全代理

8.jpg


定义一个组件接口,聚合 继承于接口的组件类,定义具体类继承于接口,可以由组件装饰,可以具有一定的顺序装饰,在组件类中,引用接口(下一件装饰),按顺序调用。(装饰模式实例

7.jpg


当业务功能不断变化时(策略模式实例

可以封装成各种不同的算法(继承基本算法)

有context类实例具体的算法,封装解决方法

与工厂模式结合,让context决定用哪个算法

6.jpg