Java中的策略模式

策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。

策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。

何时使用策略模式:

1.如果在一个系统里面有许多类,他们之间的区别仅在于他们的行为,那么使用策略类可以动态的让一个对象在许多行为中选择一种行为。

2.如果系统需要动态的在几种算法中选择一种,那么这些算法可以具体的包装到一个个算法类里面,而这些算法类都是一个抽象类的子类。换言之这些具体的算法类均有统一的接口,由于多态性的原则,客户端可以选择使用任何一个具体的算法类,并只持有一个数据类型是抽象算法类的对象。

3.一个系统的算法使用的数据不可以让客户端知道。策略模式可以避免让客户涉及到不必要的算法和与算法相关的数据。

例子:

Java中的策略模式
  Java中的策略模式
  Java中的策略模式
  Java中的策略模式

相关推荐