随笔分类 - 设计模式
摘要:说明 定义: 职责链模式(Chain of Responsibility),使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 UML图: 说明 定义: 职责链模式(Chain of Responsibil
阅读全文
摘要:代理(Proxy)设计模式简介: 提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例
阅读全文
摘要:定义 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 结构图: 命令模式的角色划分: Reciever(命令的接收者):接收命令,并知道如何进行必要的工作,实现具体的处理。任何类都可以当接收者。 Invoker(命令调用者):命令调用者持有一个命
阅读全文
摘要:定义: 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象 适用性: 当我们系统中有一些类,在使用的时候都有同样需要大量的创建,而这样的创建是复杂的而且是浪费CPU,内存资源的,为了解决这一问题,就出现了原型模式(深度克隆,浅克隆) 模式思想: 1. 通过使用同一的创建对象方
阅读全文
摘要:定义: 建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。 适用性: 当流程算法可以固定几个步骤,步骤的算法步骤执行顺序固定,且制造的产品可以唯一确定,这时使用创建者模式。 模式思想: 对算法步骤进行封装(Director),对流程算法步骤有统一的接口Builde
阅读全文
摘要:定义: 抽象工厂同工厂方法有相似处:都提供了对子类创建的封装,都是有工厂方法的接口实现类的中决定了子类被创建为什么对象。 不同于工厂方法之处:工厂方法创建的对象只是一个类型的子类,而抽象工厂创建的对象为多个类型的不同类。 例如:工厂方法创建与A具有同一性质的子类A1,A2,而抽象工厂确实要负责创建多
阅读全文
摘要:定义: 1.) 工厂方法模式是用来封装对象的创建,通过让子类来决定创建的对象是什么,来达到将对象创建的过程封装的目的; 2.) 定义了一个创建对象的接口,但由子类决定要实例的泪是哪一个。工厂方法让类把实例化推迟到子类。 适用场景: 代码中经常会出现:根据条件创建实现了同一个接口的不用类实例,而这些判
阅读全文
摘要:单例定义: 确保一个类只有一个实例,并提供全局访问点。 适用场景: 1.) 当系统中某个类必须仅有一个实例对象,同时访问该系统的所有访问者必须访问同一个实例对象时,且该对象实例自身占用资源又不大时。 2.) 在C/s应用程序中,当我们要保证某一个非模式窗口,只能显示一个实例时。 举例适用场景: 线程
阅读全文
摘要:学习设计模式目的: 1.)更好的利用前人总结出的经验; 2.)强化面向对象思想,强化职业素质,提升代码可读性,用来解决问题(避免给自己挖坑)。 3.)和更多的人们沟通设计模式,希望得到牛人拍砖,纠正自己的理解错误的地方。 导读: 1.)创建型设计模式(5种): 1.1.)单例(Single Patt
阅读全文