设计模式
qq_34111363
这个作者很懒,什么都没留下…
展开
-
设计模式——工厂方法与抽象工厂(c++)
一、工厂方法(Factory Method)工厂方法用来解决在类A中new类B的对象时,类A对类B(具体类)的依赖,即类A和类B之间的紧耦合。解决思路:建立工厂类,包括一个工厂基类和继承自该工厂基类的具体工厂类,将对象创建(new)放到具体的工厂类中,使类A依赖工厂基类,而非具体类。在GOF《设计模式》中,工厂方法的定义为:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Fact原创 2016-08-16 09:45:34 · 202 阅读 · 0 评论 -
设计模式——装饰者模式(c++)
装饰者模式的核心在于——用“组合”代替“继承”!在GOF《设计模式》中将装饰者模式定义为:动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,装饰者模式比生成子类(继承)更为灵活(消除重复代码&减少子类个数)。下面通过一个例子来说明装饰者模式如何应用组合,如何减少重复代码,如何减少子类个数。原创 2016-08-15 16:27:10 · 321 阅读 · 0 评论 -
设计模式——状态模式(c++)
状态模式适用于—— 一个对象有多种状态,在不同状态下执行同一操作的行为是不同的。例如,文件在read only、write only、write and read 状态下,执行读、写等操作时的行为是不同的。状态模式基本思想——用动态绑定(多态)代替if-else或switch,以达到增加状态时,现有代码无需修改(对扩展开放,对修改关闭的原则 http://blog.csdn.net/qq_原创 2016-08-17 10:23:36 · 186 阅读 · 0 评论 -
设计模式——单例模式(c++)
在GOF《设计模式》中,单例模式的定义为——保证一个类仅有一个实例,并提供一个该实例的全局访问点。下面是单例模式的c++实现:class Singleton {private:Singleton();Singleton(const Singleton& other);public:static Singleton* getInstance();static Si原创 2016-08-17 20:54:53 · 150 阅读 · 0 评论 -
面向对象设计的八个原则
一、依赖倒置原则(DIP)高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定)。抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定)。二、开放封闭原则(OCP)对扩展开放,对更改封闭。——类模块应该是可扩展的,但是不可修改。三、单一职责原则(SRP)一个类应该仅拥有一个引起它变化的原因。变化的方向隐含着类的责任。四、Lisk原创 2016-08-16 20:20:15 · 440 阅读 · 0 评论