策略模式(行为型模式)

*爱你&永不变心* 提交于 2019-12-01 08:25:24

在策略模式中,一个类的行为或其算法可以在运行时更改。

主要解决:在有多种算法相似的情况下,使用if else所带来的复杂和难以维护

如何解决:将这些算法封装成一个一个的类,任意地替换。

关键代码:实现同一个接口。

优点:

1、算法可以自由切换

2、避免使用多重条件判断

3、扩展性良好

缺点:

1、策略类会增多

2、所有策略类都需要对外暴露

使用场景:

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

2、很多的if else情况。

3、一个系统需要动态地在几种算法中选择一种。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!