策略模式
选择使用封装好的一系列算法,可相互替换。
类比:商店[Context]买完衣服买单[Stratege](现金[Concrete Stratege]、扫码、跑路)。
VS工厂模式:虽然一个负责创建,一个侧重策略选择。但网上很多工厂模式的实现代码写出了策略模式的效果。尤其是所谓的“多方法工厂”。
推文
用设计模式解构三国是一种什么体验?——Part 3:行为型设计模式(一);
策略模式+工厂模式优化if…else if…else if结构
状态模式
随着 状态 改变而改变行为。
类比:商店[Context]选衬衫[Stratege],选中一件 断码了[Concrete Stratege],换一件 太贵了;换了一件称心的,买单。
VS策略模式:虽然都是选择行为,状态模式突出“状态”。
推文
责任链模式
多个对象依次处理请求(前者指定后者)。
类比:搭配服装[Handler],上衣[Concrete Handler1]选好了选裤子[Concrete Handler2],裤子选好了选鞋子..;当然你也可以先选裤子再去配搭上衣。
应用:JAVA WEB 中 Apache Tomcat 对 Encoding 的处理,Struts2 的拦截器,jsp servlet 的 Filter…
VS状态模式:状态模式水平,责任链纵向。
推文
中介模式
增加中介者对象来解耦互相关联的各个对象。
类比:网状图转星型拓扑。
VS代理模式:代理 针对一个对象,为了增加控制等;中介 双方都是多个,为了解耦。
VS外观模式:外观 明确调用,中介 选择调用(调停类包含选择业务逻辑);外观 单向;中介 双向。
推文
命令模式
请求发送者->命令->请求执行者
类比:太一->进化->亚古兽
推文
观察者模式
多个观察者对象监听一个主题对象。主题对象能主动想所有观察者推送通知。
类比:被观察者Subscriber:微信公众号(持有订阅者ID为其推送文章);
观察者Observer:订阅者
推文
迭代器模式
顺序遍历
类比:Iterator
推文
模板方法模式
重写
推文
备忘录模式
备份
推文
【JAVA】设计模式之备忘录模式(Memento模式)的使用分析
访问者模式
访问者操作集合内不同元素。(标注:有待加强理解)
推文
解释器模式
翻译
推文
更多有意思的内容,欢迎访问笔者小站: rebey.cn