您的位置:首页 > 编程语言 > C语言/C++

C++大话设计模式之策略模式

2016-04-11 22:52 246 查看

定义算法家族,分别封装起来,让算法间相互替换,使算法的变化,不会影响到客户。

GOOD:适合类中的成员以算法为主,算法间相互替换,简化单元测试,每个算法都有自己的类,可以进行单独测试。

策略模式和简单工厂模式基本相同,但简单工厂模式只适用于创建不同的对象,对于经常变动的算法应该用策略模式。

BUG:客户端要做出判断。

 

单一职责:简单言之,一个类只做一件事情,承担的职责越多,过多的职责会耦合在一起,某一职责的变化可能会削弱或抑制其他职责。如果你能想到多于一个的动机去修改一个类,那么这个类就有多重职责。

 

开放--封闭原则

软件的实体可以扩展,但不可以修改,即对于扩展是开放的,对于修改是封闭的。面对需求,对程序的改动是通过增加代码来完成的,而不是修改代码。

当变化发生时,我们就 创建抽象来隔离以后发生同类的变化。

开放--封闭原则是面向对象的核心所在。

 

里氏代替原则:即父类可以完全替代子类而程序运行正常。

依赖倒转原则:抽象不能依赖细节,细节应该依赖抽象。要针对接口编程,不能针对实现编程。高层模块不能依赖底层模块,两者都应该依赖抽象。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: