策略模式

策略模式

行为设计模式,定义一系列算法,并将不同的算法放入独立的类中,以使算法的对象能相互替换。

优点:

  • 运行时切换对象内的算法
  • 算法实现与使用算法的代码隔离
  • 组合代替继承
  • 开闭原则,无需对上下文进行修改引入新的策略

缺点:

  • 算法极少改变,没有必要引入新的类和接口。使用它会让程序变得复杂
  • 客户端必须知晓策略间的不同,因为它要选择策略
  • 使用函数的方式和使用策略完全相同,而又无需要借助额外的类和接口,使代码更简洁
This entry was posted in 设计模式 and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.