摘要:
享元模式(复用) 当一个软件系统在运行时产生的对象数量太多,将导致运行代价过高,带来系统性能下降等问题。 享元模式通过共享技术实现相同或相似对象的重用,在逻辑上每一个出现的字符都有一个对象与之对应,然而在物理上它们却共享同一个享元对象,这个对象可以出现在一个字符串的不同地方,相同的字符对象都指向同一 阅读全文
摘要:
外观模式 定义: 为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式又称为门面模式,它是一种对象结构型模式。 外观模式是迪米特法则的一种具体实现 通过引入一个新的外观角色可以降低原有系统的复杂度 同时降低客户类与子系统的耦合度 图构: 阅读全文
摘要:
装饰模式 装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为 装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系 在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法 还可以增加新的方法,以扩充 阅读全文
摘要:
组合模式 对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象)并调用执行,牵一而动百,其中使用了递归调用的机制来对整个结构进行处理。 定义: 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。 组 阅读全文
摘要:
桥接模式 桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原则”。 与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似一 阅读全文
摘要:
适配器模式 在软件开发中,有时也存在类似这种不兼容的情况引入一个称之为适配器的角色来协调这些存在不兼容的结构 这种设计方案即为适配器模式 在适配器模式中引入了一个被称为适配器(Adapter)的包装类,而它所包装的对象称为适配者(Adaptee),即被适配的类。 适配器的实现就是把客户类的请求转化为 阅读全文
摘要:
建造者模式 建造者模式是较为复杂的创建型模式 将客户端与包含多个组成部分的复杂对象的创建过程分离 客户端无须知道复杂对象内部组成部分与装配方式 只需要知道所需要建造者类型即可 关注如何一步一步创建一个复杂对象 不同的具体建造者定义了不同的创建过程 且具体建造者相互独立,增加方便,无须修改已有代码,系 阅读全文
摘要:
原型模式 在使用原型模式时,我们需要首先创建一个原型对象,再通过复制这个原型对象来创建更多同类型的对象。 定义: 使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。 工作原理: 将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象 阅读全文