看见几篇很好的文章,分享一下。
模板方法
核心:当好几类逻辑基本都是一样的 我们可以将公共的提取出来 设置为超类 让其他类 来继承 当前这个超类。
缺点: 当多个子类需要添加时,就会显得十分冗余了。
JDK8的消费者接口可以解决这样的问题
汉堡中的设计模式——模板方法 - 码农Amg - 博客园 (cnblogs.com)
观察者模式
核心:类似与以一种场景设定: 微信公众号---->订阅观众。每当有微信公众号消息更新时,订阅观众就可以收到订阅信息。这就一种类似的观察者模式。
思想:当所关注的 类 发生改变时,就可以通知其他消息类的此类改变
发布-订阅模式
核心:类似场景:全员禁言微信群: 群主 微信群 群友。群主发布消息 到微信群,微信群把消息回显给订阅该群的群友。 整个过程中,群主只负责发消息,群友只负责收消息, 微信群时中介。
思想: 各司其职。每个个体只负责自己的模块,中间件负责粘合。
应用:各种消息组件的实现逻辑。
两者的区别
不同:在于关联性的不同。观察者模式双方的耦合性高。发布-订阅模式,因为中间加了一层 导致双方的关联性很低,耦合性低。
【设计模式】汉堡中的设计模式——观察者模式 - 码农Amg - 博客园 (cnblogs.com)
策略模式
核心:选择性的策略:类似场景:抽奖不同将,商场不同的优惠方案,麦当劳不同的营销方案。。。
思想:根据不同的选择去实行不痛策略。为了 降低耦合性 拆了几层
[【设计模式】汉堡中的设计模式——策略模式 - 码农Amg - 博客园 (cnblogs.com)](