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

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

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

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

BUG:客户端要做出判断。

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

开放--封闭原则

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/gaojian1116/article/details/51126666
今日推荐