上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 32 下一页
摘要: 迭代器模式(便利聚合对象中元素) 在软件开发中,我们经常需要使用聚合对象来存储一系列数据。 聚合对象拥有两个职责:一是存储数据;二是遍历数据。 从依赖性来看,前者是聚合对象的基本职责;而后者既是可变化的,又是可分离的。 因此,可以将遍历数据的行为从聚合对象中分离出来,封装在一个被称之为“迭代器”的对 阅读全文
posted @ 2019-05-21 20:27 MrChengs 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 观察者模式(对象之间的联动) 观察者模式是使用频率最高的设计模式之一,它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。 在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者 一个观察目标可以对应多个观察者,而且这些观察者之间可以没 阅读全文
posted @ 2019-05-21 17:41 MrChengs 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 命令模式(请求发送者与接收者解耦) 在软件开发中,我们经常需要向某些对象发送请求(调用其中的某个或某些方法),但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,此时,我们特别希望能够以一种松耦合的方式来设计软件,使得请求发送者与请求接收者能够消除彼此之间的耦合,让对象之间的调用关系更加灵活, 阅读全文
posted @ 2019-05-21 13:19 MrChengs 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 职责链模式 很多情况下,在一个软件系统中可以处理某个请求的对象不止一个,例如SCM系统中的采购单审批,主任、副董事长、董事长和董事会都可以处理采购单,他们可以构成一条处理采购单的链式结构,采购单沿着这条链进行传递,这条链就称为职责链。 职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直 阅读全文
posted @ 2019-05-21 09:38 MrChengs 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 代理模式 当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问 为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。 代理模式是一种应用很广泛的结构型设计模式,而且变化形式非常多,常见的代理形式包括远程代理、保护代理、虚拟代理、缓冲代理、智能引用代理等, 阅读全文
posted @ 2019-05-21 08:45 MrChengs 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 享元模式(复用) 当一个软件系统在运行时产生的对象数量太多,将导致运行代价过高,带来系统性能下降等问题。 享元模式通过共享技术实现相同或相似对象的重用,在逻辑上每一个出现的字符都有一个对象与之对应,然而在物理上它们却共享同一个享元对象,这个对象可以出现在一个字符串的不同地方,相同的字符对象都指向同一 阅读全文
posted @ 2019-05-20 23:36 MrChengs 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 外观模式 定义: 为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式又称为门面模式,它是一种对象结构型模式。 外观模式是迪米特法则的一种具体实现 通过引入一个新的外观角色可以降低原有系统的复杂度 同时降低客户类与子系统的耦合度 图构: 阅读全文
posted @ 2019-05-20 22:52 MrChengs 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 装饰模式 装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为 装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系 在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法 还可以增加新的方法,以扩充 阅读全文
posted @ 2019-05-20 22:18 MrChengs 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 组合模式 对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象)并调用执行,牵一而动百,其中使用了递归调用的机制来对整个结构进行处理。 定义: 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。 组 阅读全文
posted @ 2019-05-20 21:13 MrChengs 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 桥接模式 桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原则”。 与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似一 阅读全文
posted @ 2019-05-20 19:34 MrChengs 阅读(207) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 32 下一页