
设计模式
lancefate
这个作者很懒,什么都没留下…
展开
-
设计模式:简单工厂与策略模式
简单工厂,真的是特别简单的一个设计模式。 代码摘自百度百科 工厂方法内定义需要用到的方法的父类, 根据传递的参数来决定实例化何种子类对象。//算法的父类,抽象出返回结果的接口 class Operation { public: virtual int GetResult() =0; public: double m_Num1; double m_Num2; }; //工原创 2017-12-09 22:10:32 · 518 阅读 · 0 评论 -
设计模式:装饰模式
装饰模式类图: 在装饰模式中的各个角色有: (1)抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 (2)具体构件(Concrete Component)角色:定义一个将要接收附加责任的类。 (3)装饰(Decorator)角色:持有一个构件(Component)对象的实例,并实现一个与抽象构件接口一致的接口。 (4)具体装饰(C原创 2017-12-10 19:45:06 · 234 阅读 · 0 评论 -
代理模式
一个是真正的你要访问的对象(目标类),一个是代理对象,真正对象与代理对象实现同一个接口,先访问代理类再访问真正要访问的对象。 代理模式分为静态代理、动态代理。 静态代理是由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。 动态代理是在实现阶段不用关心代理类,而在运行阶段才指定哪一个对象。原创 2017-12-11 14:16:52 · 227 阅读 · 0 评论 -
工厂方法模式
工厂方法模式,相对于简单工厂模式,将工厂类也抽象出来,所有的具体工厂需要implements抽象工厂接口,当要添加新的方法时,只需要继承Operation抽象类实现对应方法,并implements抽象接口,返回新建的Operation对象Operation.javapublic abstract class Operation { private double num1; priva原创 2017-12-17 15:24:29 · 192 阅读 · 0 评论 -
原型模式
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 Prototype.javapublic abstract class Prototype implements Cloneable { public Prototype clone(){ Prototype prototype=null; try { protot原创 2017-12-17 15:31:17 · 199 阅读 · 0 评论 -
模板方法
在抽象类中定义算法的骨架,在具体类中实现抽象方法 AbstractClass.javapublic abstract class AbstractClass { public abstract void PrimitiveOperation1(); public abstract void PrimitiveOperation2(); public void Templat原创 2017-12-17 15:36:16 · 204 阅读 · 0 评论 -
外观模式
我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。 Facade.javapublic class Facade { private SubSystemOne subSystemOne; private SubSystemTwo subSystemTwo; private SubSystemT原创 2017-12-17 15:41:47 · 230 阅读 · 0 评论