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

Strategy pattern策略模式

时间:2015-05-14 20:05:19      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

在Java的集合框架中,经常需要通过构造方法传入一个比较器Comparator,或者创建比较器传入Collections的静态方法中作为方法参数,进行比较排序等,使用的是策略模式

一、策略模式的定义

  定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。

二、策略模式体现了两个非常基本的面向对象设计原则:

  封装变化的概念,找出应用中可能需要变化之处,把它独立出来,不要把那些不需要变化的代码混在一起,系统会变得更有弹性。

  编程中使用接口,而不是对接口的实现。

三、策略模式的角色组成

技术分享

   抽象策略角色:策略类,通常由一个接口或者抽象类实现

        具体策略角色:包装了相关的算法和行为

        环境角色:持有一个策略类的引用,最终给客户端调用的

四、编写策略模式的一般步骤:

        1. 对策略对象定义一个公共接口

        2. 编写具体策略类,该类实现了上面的接口

        3. 在使用策略对象的类(即:环境角色)中保存一个对策略对象的引用

        4. 在使用策略对象的类中,实现对策略对象的set和get方法(注入)或者使用构造方法完成赋值

        5. 客户端进行调用

 

Strategy pattern策略模式

标签:

原文地址:http://www.cnblogs.com/demacian/p/4503997.html

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