浅析设计模式之策略模式
2015-03-25 22:36
190 查看
浅析设计模式之策略模式
写在前面
平日里遇到的编程问题,一般都能看到CSDN博客里有人给出资料,而我想要拥有属于自己技术博客的想法也存在很久了。我写博客主要是为了把每天遇到的问题深入并记录下来,一来给以后自己回顾用,二来也希望帮到急着要用资料的人,三来自己的书面表达能力实在弱练练也是好的,四来算是给自己一个学习的动力,看着自己写的博客不也会颇有成就感的么。好,这是我的第一篇博客概念
defines a family of algorithms. encapsulates each algorithm. makes the algorithms interchangeable within that family. 定义了算法家族 包装各个算法 使算法家族中的算法能在使用中交换
设计模式基本原则
Object-orientated Basic: Abstraction, Encapsulation, Polymorphism Object-orientated Principles: Encapluate what varies, Favor composition over inheritence, program to interface not implementation 面向对象基础:抽象,封装,多态 面向对象原则:封装变化,能用组合不用继承,针对接口编程
策略模式的理解
面向对象编程讲究封装对象,将不变的写进父类中,将变化的部分进行抽象。当子类继承父类时,将抽象的部分具体化,而不变的部分已经写入父类不用理会。设计模式原则的目的就是使不变代码的能够灵活复用,使变化的部分能够自由更换,使往后的维护修改能够方便。
个人认为设计模式是面向对象编程的核心思想,掌握设计模式就能够快速上手各种面向对象编程语言。
从原则分析为什么使用策略模式
策略模式的算法家族支持了算法抽象接口(封装变化),环境类有着算法抽象类的引用(使用组合),在环境类中,用户可以使用set方法更换算法(针对接口)。充分体现了面向对象基本原则。
如果一味的将环境的父类为抽象类,环境类将要在初始化时同时具体化抽象方法,这样在有些使用相同算法的类中,代码将会重复,没有被很好的复用。同时,使用继承的环境类不能更换算法。
参考资料
Strategy pattern - wiki设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
相关文章推荐
- 浅析设计模式之策略模式--为什么总是继承?
- 设计模式之策略模式、观察者模式浅析
- 设计模式之策略模式、观察者模式浅析
- 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
- [设计模式] 23.Strategy 策略模式
- 设计模式袖珍版 连续转载之 - Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- [★] .NET 偶尔连接的设计策略 -联机状态- 脱机模式- 数据同步
- 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
- 浅析设计模式之FactoryMethod
- 第三个设计模式:策略模式
- 设计模式之Strategy(策略)
- 设计模式之策略模式(Strategy)
- [浪子学编程][MS Enterprise Library]ObjectBuilder之设计模式(一):策略模式
- 设计模式随笔系列:鸭子-策略模式(Strategy)[原]
- 设计模式之Strategy(策略)
- 设计模式(18)-策略模式(Strategy)
- 设计模式(三)[策略(Strategy)模式]
- 设计模式之策略模式探讨初步[引]