策略模式和责任链模式的区别,策略模式这个很多人还不知道,现在让我们一起来看看吧!
(资料图片仅供参考)
1、策略模式(Strategy Pattern),定义了一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化。
2、 策略模式是处理算法的不同变体的一种行为模式,通过在抽象策略中定义算法接口或封装算法标识,实现该抽象策略的具体子类成为一个单独的算法,即具体策略。
3、策略模式使用多个类来区别不同的行为,使用策略模式避免暴露复杂的、与算法相关的内部数据结构。
4、当一个类中的操作以多个条件分支语句的形式出现的时候,可以使用策略模式将相关的条件分支移入各自的具体策略类中以代替这些条件语句,从而减少系统处理的复杂度。
5、推荐你一本设计模式方面的权威书籍:郑阿奇 主编的《软件秘笈-设计模式那点事》。
6、里面讲解很到位,实例通俗易懂,看了收获很大!祝你早日学会设计模式!设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
7、使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
8、 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
9、详细教程:网页链接,意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
10、主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。
11、何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。
12、如何解决:将这些算法封装成一个一个的类,任意地替换。
13、关键代码:实现同一个接口。
14、应用实例:诸葛亮的锦囊妙计,每一个锦囊就是一个策略。
15、 2、旅行的出游方式,选择骑自行车、坐汽车,每一种旅行方式都是一个策略。
16、 3、JAVA AWT 中的 LayoutManager。
17、优点:算法可以自由切换。
18、 2、避免使用多重条件判断。
19、 3、扩展性良好。
20、缺点:策略类会增多。
21、 2、所有策略类都需要对外暴露。
22、使用场景:……。
本文到此分享完毕,希望对大家有所帮助。
标签:
Copyright @ 2015-2018 北极it网版权所有 备案号:浙ICP备2022016517号-19 联系邮箱:514 676 113@qq.com