码迷,mamicode.com
首页 > 其他好文 > 详细

策略模式

时间:2017-04-24 22:52:54      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:style   耦合   基础   技术   概述   依赖   com   修改   客户   

定义一系列算法,把它们一个个封装起来,并且它们可相互替换。本模式使得算法可独立于使用它的客户而变化。

概述

比如,设计一个Army类,该类有一个int数组,数组表示士兵的号码,该类中有一个lineUp()方法,该方法用于将士兵按照号码从小到大排列。但有时候需要将士兵按照从大到小排列,此时要么新增一个方法,或者修改该方法。使用策略模式,可以在不修改原来方法的基础上,修改该方法的具体算法。

模式的结构

 策略:策略是一个接口,定义若干个算法标识

具体策略:实现策略接口的类。

上下文:是依赖于策略接口的类,即上下文包含有策略声明的变量。上下文中提供一个方法,该方法委托策略变量调用具体策略所实现的策略接口中的方法。

技术分享

策略模式的优点

上下文和具体策略是松耦合关系

满足“开-闭原则”。当增加新的具体策略时,不需要修改上下文类的代码。

策略模式

标签:style   耦合   基础   技术   概述   依赖   com   修改   客户   

原文地址:http://www.cnblogs.com/wuchaodzxx/p/6759175.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!