摘要:
迭代器模式(便利聚合对象中元素) 在软件开发中,我们经常需要使用聚合对象来存储一系列数据。 聚合对象拥有两个职责:一是存储数据;二是遍历数据。 从依赖性来看,前者是聚合对象的基本职责;而后者既是可变化的,又是可分离的。 因此,可以将遍历数据的行为从聚合对象中分离出来,封装在一个被称之为“迭代器”的对 阅读全文
摘要:
观察者模式(对象之间的联动) 观察者模式是使用频率最高的设计模式之一,它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。 在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者 一个观察目标可以对应多个观察者,而且这些观察者之间可以没 阅读全文
摘要:
命令模式(请求发送者与接收者解耦) 在软件开发中,我们经常需要向某些对象发送请求(调用其中的某个或某些方法),但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,此时,我们特别希望能够以一种松耦合的方式来设计软件,使得请求发送者与请求接收者能够消除彼此之间的耦合,让对象之间的调用关系更加灵活, 阅读全文
摘要:
职责链模式 很多情况下,在一个软件系统中可以处理某个请求的对象不止一个,例如SCM系统中的采购单审批,主任、副董事长、董事长和董事会都可以处理采购单,他们可以构成一条处理采购单的链式结构,采购单沿着这条链进行传递,这条链就称为职责链。 职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直 阅读全文
摘要:
代理模式 当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问 为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。 代理模式是一种应用很广泛的结构型设计模式,而且变化形式非常多,常见的代理形式包括远程代理、保护代理、虚拟代理、缓冲代理、智能引用代理等, 阅读全文