我们一起来读书吧 关注:154贴子:2,883
  • 0回复贴,共1

《设计模式》第五章(6-12节)有感

只看楼主收藏回复

在第五章中将具体介行为型设计模式,以及其优缺点、适用场景。
在行为型模式中不仅描绘对象或者类之间的关系,而且还会描述他们之间的通信方式。行为型模式描绘了程序运行时控制流如何体现在对象之间的关系上。
第五章的后六节中,分别介绍了观察者模式、状态模式、策略模式、模板方法模式、访问者模式。这贴吧项目中这些设计模式或多或少都会有使用,其中使用较多的有观察者模式、策略模式。
观察者模式
观察者模式是指对象之间定义了一种一对多的关系,并且当一个对象发生改变时,所有依赖与它的对象都会收到通知。

优点:(1)观察者和被观察者是抽象耦合的,被观察者只需要持有观察者的接口即可。
缺点:(1)如果观察者太多了话,通知所有观察者会增加耗时比如在使用LiveData时我们可以通过注册观察者来实现,数据更新时的通知。
策略模式
策略模式可以将行为或者实现方法进行封装区分,从而可以根据不同场景使用不同的实现。所以当我们的对象在不同场景下的表现行为不一致时,我们就可以考虑使用策略模式将其行为封装为不同的策略,从根据不同场景实时选择不同策略。

优点:(1)在一定程度上削减了if分支语句的数量。(2)扩展性比较好
缺点:(1)如果策略很多的话,会增加很多类
在项目中我们有一些场景也是会使用策略类来来实现根据不同场景进行不同操作,比如精灵在常驻和非常驻状态下的行为。


IP属地:北京1楼2024-03-18 14:53回复