设计模式
gscienty
Talk is cheap show me the code.
展开
-
【设计模式】-模板方法模式(Template)
模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。class ITemplate{ public: virtual ~ITemplate(){} virtual void templateMethod(){ operation1原创 2015-01-27 18:07:06 · 518 阅读 · 0 评论 -
【设计模式】-命令模式(method)
把方法调用封装起来,通过封装方法调用,可以把运算块包装成形。调用此运算的对象不需要关心事情是如何进行的,只要知道如何使用包装成形的方法来完成它就可以了。原创 2015-01-23 14:58:55 · 542 阅读 · 0 评论 -
【设计模式】-适配器模式(Adapter)
目的是将对象包装起来,让它们看起来不像自己而像是别的东西。适配器模式不仅可以将一种接口包装成另一种接口,还可以将一组接口包装成一种接口。其目的是将一个类的接口转换成客户期望的另一个接口。适配器让原本的接口不兼容的类可以合作无间。与装饰者模式不同的是,适配器的目的是为了兼容客户期望的接口,必须将一个不兼容的接口对象包装起来,变成兼容的对象。而装饰者模式则是在不改变接口的情况下,使得能够更多的原创 2015-01-27 18:04:36 · 474 阅读 · 0 评论 -
【设计模式】-观察者模式(Observer)
观察者模式由两部分组成:主题(Subject)和观察者(Observer)。主题对象管理着某些数据,观察者是已经订阅主题的对象,以便能够在主题数据发生改变时能够接收到数据的更新。某一对象要成为主题的观察者,首先要递交订阅申请。当主题数据发生改变时,新的数据就会以某种形式发送到观察者手上。当观察者需要撤离时,需要递交取消订阅申请。观察者模式定义了对象一对多依赖,这样依赖,当一个对象改变状态时原创 2015-01-20 10:58:59 · 512 阅读 · 0 评论 -
【设计模式】-装饰者模式(Wrapper)
实在觉得搜狗输入法流氓,于是就在刚刚卸载掉了。因为搜狗输入法“惯”出的懒散病也该得到治疗了。言归正传--“装饰者模式”装饰者模式实际上就是将“父对象”的职责动态地加在“子对象”之上,“子对象”可以根据需要,在本有职责的基础上添加其他的业务。换句话说,若要拓展功能,装饰者设计模式比继承提供了更加富有弹性的解决方案。它的设计原则一是尽可能多地使用组合,而尽可能少的使用继承,因为继承是在原创 2015-01-22 01:34:06 · 2749 阅读 · 0 评论 -
【设计模式】-单例模式(Singleton)
有些对象只需要一个,如果制造出多个实例就会导致许多问题。在任何时候,利用单例模式制造出来的,都只有一个对象。避免其他类再自行产生实例,要想取得单例,通过单例类是唯一的途径。 class Singleton { private static Singleton _instance; public static Singleton Instance原创 2015-01-23 00:51:42 · 438 阅读 · 0 评论 -
【设计模式】-工厂模式(Factory)
除了使用new关键字以外,还有更多制造对象的方法。new意味着在实例化一个具体的类,所以对象的方法是准确的实现,而非抽象的方法定义。因此这样一来代码将会缺乏弹性。我们针对接口编程,可以隔离掉以后系统中可能发生的一大堆改变,如果代码针对接口来写,那么对于一个方法的实现将会是多种多样的。当代码使用大量具体类时,一旦加入新的类,那么就需要修改大量的代码。也就是说代码并非对”修改关闭“。想用新的具体类原创 2015-01-22 20:14:14 · 580 阅读 · 0 评论