`
boilingblood
  • 浏览: 12945 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

策略模式

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

        在OO设计中,有的类的属性是需要变化的,我们就可以把这些变化的部分提出来成为独立的接口,具体的行为实现来实现这些接口,这些接口及其实现就是所说的算法族,在需要使用这些算
        1、 提供了一种替代继承的方法,而且既保持了继承的优点(代码重用)还比继承更灵活(算法独立,可以任意扩展)。  
           2、 避免程序中使用多重条件转移语句,使系统更灵活,并易于扩展。             3、 遵守大部分GRASP原则和常用设计原则,高内聚、低偶合。  
    缺点:         
    1、 因为每个具体策略类都会产生一个新类,所以会增加系统需要维护的类的数量。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics