摘要: Observer Pattern,即观察者模式,当存在一对多关系,例如一个对象一有变动,就要自动通知被依赖的全部对象得场景,属于行为类的设计模式。 下面是一个观察者模式的简单案例。 Observer 定义观察者的接口,定义需要观察的对象,已经被通知的接口。BinaryObserver, OctalO 阅读全文
posted @ 2016-05-21 23:46 TonyYPZhang 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Meditor Pattern,即调解模式,用一个调解类类处理所有的沟通事件,使得降低多对象之间的沟通难度,属于行为类的设计模式。为了方便理解记忆,我也称其为,沟通模式。 下面是一个调解模式的简单案例。 ChatRoom 提供公用发送短信的方法。User 全部通过 ChatRoom 类发送信息进行沟 阅读全文
posted @ 2016-05-21 22:57 TonyYPZhang 阅读(210) 评论(0) 推荐(0) 编辑
摘要: Iterator Pattern,即迭代时模式,按照顺序依次遍历集合内的每一个元素,而不用了解集合的底层实现,属于行为类的设计模式。为了方便理解记忆,我也会称其为遍历模式。 下面是一个迭代器模式的简单案例。 Iterator 定义了迭代接口, 仅 hasNext 和 next 两个方法。Contai 阅读全文
posted @ 2016-05-21 22:40 TonyYPZhang 阅读(282) 评论(0) 推荐(0) 编辑
摘要: Command Pattern, 即命令模式,把一个命令包裹在一个对象里面,将命令对象传递给命令的执行方,属于行为类的设计模式 下面是命令模式的一个简单案例。 Stock 代表被操作的对象。Order 定义命令的接口,BuyStock, SellStock 是具体类,实现 Order 接口。Brok 阅读全文
posted @ 2016-05-21 21:28 TonyYPZhang 阅读(885) 评论(0) 推荐(0) 编辑
摘要: Proxy Pattern, 即代理模式,用一个类代表另一个类的功能,用于隐藏、解耦真正提供功能的类,属于结构类的设计模式。 下面是 代理模式的一个简单案例。 Image 定义接口,RealImage, ProxyImage 都实现该接口。RealImage 具有真正显示功能,ProxyImage 阅读全文
posted @ 2016-05-21 18:45 TonyYPZhang 阅读(177) 评论(0) 推荐(0) 编辑
摘要: Flywight Pattern, 即享元模式,用于减少对象的创建,降低内存的占用,属于结构类的设计模式。根据名字,我也将其会理解为 轻量模式。 下面是享元模式的一个简单案例。 享元模式,主要是重用已有的对象,通过修改部分属性重新使用,避免申请大量内存。 本模式需要主要两个点: 1. 对象的 key 阅读全文
posted @ 2016-05-21 18:25 TonyYPZhang 阅读(204) 评论(0) 推荐(0) 编辑
摘要: Facade Pattern, 即外观模式,用于隐藏复杂的系统内部逻辑,提供简洁的接口给客户端调用,属于结构类的设计模式。我会将其名字理解为,门户模式。 下面是 Facade Pattern 的一个简单案例。 Shape 定义一个接口,Circle, rectangle, Square 分别实现 S 阅读全文
posted @ 2016-05-21 17:17 TonyYPZhang 阅读(294) 评论(0) 推荐(0) 编辑
摘要: Filter Pattern,即过滤模式,通过不同的过滤标准,或者低耦合将过滤标准组合在一起,对一组对象进行过滤,属于结构类的设计模式。 下面是一个过滤模式的简单案例。 Criteria 定义过滤接口,CriteriaFemale, CriteriaMale, AndCriteria, OrCrit 阅读全文
posted @ 2016-05-21 16:48 TonyYPZhang 阅读(290) 评论(0) 推荐(0) 编辑
摘要: Adapter Pattern, 即适配器模式,用于连接两个不兼容的接口,属于结构类的设计模式。 或者叫做,转换器模式。 下面是一个转换器模式简单案例。 假设已有 AudioPlayer 专门播放 mp3 格式文件,VlcPlayer 和 Mp4Player 是高级播放器,分别播放 vlc 和 mp 阅读全文
posted @ 2016-05-21 14:17 TonyYPZhang 阅读(291) 评论(0) 推荐(0) 编辑
摘要: Singleton Pattern, 即单例模式,用于获取类的一个对象,该对象在整个应用中是其类的唯一对象。单例模式属于创建类的设计模式。 SingleObject 作为单例类,内含了一个静态私有的 SingleObject 成员变量,将构造方法私有化使得外部无法构造 SingleObject 的对 阅读全文
posted @ 2016-05-21 13:13 TonyYPZhang 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Factory Pattern , 即工厂模式,用于创建对象的场景,属于创建类的设计模式 。 下面是一个工厂模式案例。 Shape 作为接口, Circle, Square, Rectangle 作为具体类实现了 Shape 接口。 ShapeFactory 封装了创建各个 Shape 的方式,隐藏 阅读全文
posted @ 2016-05-21 12:54 TonyYPZhang 阅读(278) 评论(0) 推荐(0) 编辑