随笔分类 - 设计模式
摘要:定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模式提供的所有产品都是衍生自同一个接口或抽象类,而抽象工厂模式所提供的产品则是衍生自不同的接口或抽象类。 在抽象工厂模式中,有一个产品族的概念:所谓的产品族,是指位于不同产品等级结构中功能相关联的产品组成的家族
阅读全文
摘要:定义:Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses。定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。类型:创建类模式类图: 在工厂方法模式中,抽象产品类Product负责定义产品的共性,实现对事物最抽象定义;Creator为抽象创建类,也就是抽象工厂,具体如何创建产品类是由具体的.
阅读全文
摘要:策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的结构 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。下面就以一个示意性的实现讲解策略模式实例的结构。模式中的角色 1 抽象策略类(Strategy):定义所有支持的算法的公共接口。 2具体策略类(Concre...
阅读全文
摘要:首先明确一个问题,在某些情况下,有些对象,我们只需要一个就可以了。比如,一台计算机连接到多个打印机上,但是这个计算机上的打印程序只能有一个,因为可能会有多个打印作业同时输出到打印机中,这里就可以通过单例模式来避免这个问题。 简单来说,单例模式的作用就是保证在应用程序的生命周期中,任何一个时刻,单例类的实例只有一个(当然也可以不存在)。单例模式的类图:从上面的类图中可以看出,在单例类中有一个私有的构造函数 Singleton ,有一个声明为public的 GetInstance()的方法返回一个Singleton实例。通过上面的类图不难看出单例模式的特点,从而也可以给出单例模式的定义:单例...
阅读全文
摘要:问题:在面向对象的设计中,经常会遇到有多个对象共同处理同一事件,但是各自对事件的处理权限却有不同的场合,一个比较简单的例子就是逐级审批,组长审批完成后,交给经理审批,经理审批完成交给总监,总监审批完给总裁...比较传统的解决办法就是,由客户端来判断,现在处于哪个阶段,下一步应调用哪个对象的方法,进入哪一个阶段,可是请求的发送者需要维护多个耦合,以处理请求信息的传达。这就存在请求的发送者与多个接收者之间是高耦合。定义:《设计模式》中给它的定义如下:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止意图:C
阅读全文

浙公网安备 33010602011771号