设计模式系列文章 java设计模式解析(1) Observer观察者模式 java设计模式解析(2) Proxy代理模式 java设计模式解析(3) Factory工厂模式 java设计模式解析(4) Singleton单例模式 java设计模式解析(5) Delegate委派模式 java设计模式解析(6) Strategy策略模式 java设计模式解析(7) Prototype原型模式 java设计模式解析(8) Template模版模式 java设计模式解析(9) Decorator装饰模…
作用:将一个类的接口转换成客户希望的另一个接口.Adapt模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. UML示意图 1)      采用继承原有接口类的方式 2)采用组合原有接口类的方式 解析: Adapt模式其实就是把完成同样一个功能但是接口不能兼容的类桥接在一起使之可以在一起工作,这个模式使得复用旧的接口成为可能. 实现: Adapt模式有两种实现的方法,一种是采用继承原有接口的方法,一种是采用组合原有接口类的方法,这里采用的是第二种实现方法 1)  Adapt.h [c…
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编写真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样. 观察者模式 Observer Pattern Observer模式也叫观察者模式.订阅/发布模式,是由GoF提出的23种软件设计模式的一种.Observer模式是行为模式之一,它的作用是当一个对…
作用:运用共享技术有效地支持大量细粒度的对象 UML结构图: 解析: Flyweight模式在大量使用一些可以被共享的对象的时候使用.比如,在QQ聊天时很多时候你懒得回复又不得不回复,一般会用一些客套的话语敷衍别人,如"呵呵","好的"等待之类的,这些简单的答复其实每个人都是提前定义好的,在使用的时候才调用起来. Flyweight就是基于解决这种问题的思路而产生的,当需要一个可以在其他地方共享使用的对象的时候,先去查询是否已经存在了同样的对象,如果没有就生成之:有…
作用:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. UML结构图: 抽象基类: 1)  Prototype:虚拟基类,所有原型的基类,提供Clone接口函数 接口函数: 1)  Prototype::Clone函数:纯虚函数,根据不同的派生类来实例化创建对象. 解析: Prototype模式其实就是常说的"虚拟构造函数"的一个实现,C++的实现机制中并没有支持这个特性,但是通过不同派生类实现的Clone接口函数可以完成与"虚拟构造函数"同样的效果…
代理模式:为其他对象创建一个代理以控制对这个对象的访问 UML解释:客户端向Proxy发起一个Request()请求,Proxy对象会把这个Request转发给Proxy对象的RealSubject.RealSubject会实施操作间接满足Subject要求.举一个生活中的例子就比较好理解了——去饭店点餐,我们就是UML中的Subject(客户端).Proxy就是饭店的服务员.RealSubject就是厨师.我们不能直接向厨师点餐,我们把点餐(Request())请求发送给服务员(Proxy).…
组合模式:将对象组合成树形结构以表示"部分-整体"的层次结构.组合是的用户对单个对象和组合对象的使用具有一致 Cocoa Touch中组合模式使用:Cocoa Touch框架中,UIView被组织成一个组合结构.每个UIView的实例可以包含UIView的其他实例,形成同一结构. 视图组合结构参与绘图时间处理,当请求超视图为显示进行渲染时,消息会先在超视图被处理,然后传递给子视图.消息回传到整个树. 例如绘制View5,绘制时间由View传递给View1.View2,然后发现不不能处理…
原文地址  http://c.chinaitlab.com/special/sjms/Index.html#a 导航目录 ※ 设计模式解析和实现之一-Factory模式 ※ 设计模式解析和实现之八-Composite模式 ※ 设计模式解析和实现之十五-Observer模式 ※ 设计模式解析和实现之二-AF模式 ※ 设计模式解析和实现之九-Decorator模式 ※ 设计模式解析和实现之十六-Strategy模式 ※ 设计模式解析和实现之三-Builder模式 ※ 设计模式解析和实现之十-Prox…
  设计模式系列文章 java设计模式解析(1) Observer观察者模式 java设计模式解析(2) Proxy代理模式 java设计模式解析(3) Factory工厂模式 java设计模式解析(4) Singleton单例模式 java设计模式解析(5) Delegate委派模式 java设计模式解析(6) Strategy策略模式 java设计模式解析(7) Prototype原型模式 java设计模式解析(8) Template模版模式 java设计模式解析(9) Decorator装…
之前我们已经看过了 Golang 常见设计模式中的装饰和选项模式,今天要看的是 Golang 设计模式里最简单的单例模式.单例模式的作用是确保无论对象被实例化多少次,全局都只有一个实例存在.根据这一特性,我们可以将其应用到全局唯一性配置.数据库连接对象.文件访问对象等.Go 语言实现单例模式的方法有很多种,下面我们就一起来看一下. 饿汉式 饿汉式实现单例模式非常简单,直接看代码: package singleton type singleton struct{} var instance = &…