设计模式学习01-策略模式
2009-03-16 15:40
295 查看
定义
The Strategy pattern
The strategy pattern defines a family of algorithms encapsulate each one, and makes them interchangeable. Strategy lets algorithm vary independently from clients that use it.
策略模式
策略模式定义了一系列的算法,分别封起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户.
说明
简单的来说,对于一个接口,有多种实现。这些实现可以自由替换,不会影响其它客户的调用.
图示
列举的是游泳的例子,游泳有好几种游法,一个人在游泳时可以蝶泳,蛙泳,仰泳等等,所以将游泳这个行为抽成一个接口,下面依次蝶泳,蛙泳,仰泳的实现。而Person类直接引用游泳接口,可以在运行时通过设置swimable来动态的改变游泳的方式。
总结
策略模式是一个提倡“针对接口编程”的模式,而使用接口的目的是为了统一标准或着说是制定一种强行的规定。
策略模式的使用是由用户发起的,根据用户的操作决定使用什么具体的策略角色。策略模式仅仅封装算法,提供新的算法加入到已有系统和算法间的相互替换.
The Strategy pattern
The strategy pattern defines a family of algorithms encapsulate each one, and makes them interchangeable. Strategy lets algorithm vary independently from clients that use it.
策略模式
策略模式定义了一系列的算法,分别封起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户.
说明
简单的来说,对于一个接口,有多种实现。这些实现可以自由替换,不会影响其它客户的调用.
图示
列举的是游泳的例子,游泳有好几种游法,一个人在游泳时可以蝶泳,蛙泳,仰泳等等,所以将游泳这个行为抽成一个接口,下面依次蝶泳,蛙泳,仰泳的实现。而Person类直接引用游泳接口,可以在运行时通过设置swimable来动态的改变游泳的方式。
总结
策略模式是一个提倡“针对接口编程”的模式,而使用接口的目的是为了统一标准或着说是制定一种强行的规定。
策略模式的使用是由用户发起的,根据用户的操作决定使用什么具体的策略角色。策略模式仅仅封装算法,提供新的算法加入到已有系统和算法间的相互替换.
相关文章推荐
- 设计模式学习(一)、策略模式
- 设计模式学习-每日一记(13.策略模式)
- 设计模式-策略模式学习
- 设计模式学习之策略模式
- 设计模式之策略模式strategy学习
- OOP设计模式[JAVA]——01策略模式
- 学习设计模式第二十四 - 策略模式
- 【设计模式学习笔记】 之 策略模式
- 设计模式学习笔记--Strategy 策略模式
- 再起航,我的学习笔记之JavaScript设计模式20(策略模式)
- 设计模式学习笔记之(二、策略模式)
- 设计模式学习笔记七:策略模式
- 学习笔记——JAVA设计模式<18>策略模式
- 简单工厂模式 策略模式【设计模式】【学习总结】
- 设计模式之策略模式学习
- 学习设计模式_01 GOF, 设计模式和J2EE
- 设计模式学习笔记-策略模式
- 设计模式学习之简单工厂模式和策略模式
- Android开发框架/库学习,设计模式之策略模式
- 学习head first 设计模式之策略模式