logo头像

Aoho's Blog

设计模式

设计模式之空指针模式

属于新模式。我们在之前介绍了23种设计模式,设计模式诞生多年,设计模式也在逐步增多。本文将会介绍一个常用且容易忽视的模式:空指针模式。 空指针模式的定义在空对象模式中,一个空对象取代NULL对象的实例的检查。NULL对象不是检查空值,...

设计模式之黑板模式

黑板模式属于行为型的新模式。 黑板模式的定义黑板模式是观察者模式的扩展,一种常用的架构模式。黑板模式的定义如下: 允许消息的读写同时进行,广泛地交互消息。 黑板模式允许多个消息读写着同时存在,应用中的多种不同数据处理逻辑相互影响和...

设计模式之中介者模式

中介者模式属于行为型模式。 中介者模式的定义定义:用一个中介者对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其松散耦合,而且可以独立地改变它们之间的交互。 在软件开发中,通过提供一个统一的接口让系统不同部分进...

设计模式之命令模式

命令模式是一种行为模式。 命令模式的定义命令模式是一个高内聚的模式,将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录日志,可以提供命令的撤销和恢复功能。命令模式的核心在于引入了命令类,通过命令类来降低...

设计模式之迭代子模式

迭代子模式又叫游标(Cursor)模式,是对象的行为模式。 迭代子模式的定义迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象。我们常见的集合有很多种类,其顶层数据存储和组织方式的不同导致了我们在对数据进行遍历的时候存在...

设计模式之责任链模式

责任链模式是一种对象的行为模式。 责任链模式定义责任链模式:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。 在责任链模式里,很多的对象由每一个对象对...

设计模式之策略模式

策略模式的定义策略模式属于行为型模式。 策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在策略模式中,调用算法的主体则是封装到了封装类Context中,抽象策略Strategy一...

设计模式之解释器模式

属于行为型模式。 解释器模式的定义 Given a language, define a representation for its grammar along with an interpreter that uses the r...

设计模式之观察者模式

观察者模式属于行为模式。 观察者模式的定义观察者模式又称为发布/订阅模式,是一种对象的行为型模式。它定义了对象之间的一对多的依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新。观察者模式的优点在于实现了表示...

设计模式之享元模式

享元模式属于结构性模式。 享元模式的定义采用一个共享来避免大量拥有相同内容对象的开销。这种开销中最常见、直观的就是内存的损耗。享元模式以共享的方式高效的支持大量的细粒度对象。 享元模式是为数不多的、只为提升系统性能而生的设计模式。它的...