美文网首页
设计模式总结

设计模式总结

作者: Nagi | 来源:发表于2016-10-24 20:44 被阅读19次

桥接模式
本质是两组抽象类的组合,如果一个接口A聚合另一个抽象类B,A与B有很多具体实现,那么这就是桥接模式。

享元模式
本质是聚合,轻量级的对象池,必定结合工厂模式使用。

解释器模式
特点是语法解析,结构与组合模式相同,额外多一个环境角色。

状态模式
本质是封装,如果一个类内部有状态,状态改变行为也改变,那么这个就是状态模式。
类图与策略模式一致。

访问者模式
作为迭代器访问不同类的补充,如果一个类A以另外一个类B为参数提供一个接口accept,这个接口以A为参数调用B的一个方法visit,这个方法其实是调用A的方法fun,那么这个就是访问者模式。
将依赖接口子类的具体方法的操作封装成访问者。

备忘录模式
本质是封装,如果概念上将一个类的状态封装成另一个类,并提供设置,导出状态的接口,那么这个就是备忘录模式。

门面外观模式
本质是委托封装,如果一个类组合封装了其它类,并提供一个高层次的接口,那么这个就是外观模式。

观察者模式
本质是一对多的依赖,如果批量触发依赖的方法,形成概念上的通知,那么就是观察者模式。当形成广播链的时候,与责任链模式的区别之一是消息随时更改。

组合模式
本质是委托,特征是树形结构,如果一个树枝类继承一个接口,包含委托,委托的是接口,具体可能是这种类或是继承同一个接口的其它子叶子类,形成树形结构,那么就是组合模式。

迭代器模式
如果要改类继承一个类,实现一个接口,而接口的实现都是靠调用父类的实现,那么这个就是类适配器模式,如果不使用继承而使用委托,接口的实现都是靠调用委托实现,那么这个就是对象适配器模式。

适配器模式
如果要改类继承一个类,实现一个接口,而接口的实现都是靠调用父类的实现,那么这个就是类适配器模式,如果不使用继承而使用委托,接口的实现都是靠调用委托实现,那么这个就是对象适配器模式。

策略模式
本质是委托,如果一个类委托一个接口,并且互换这个接口委托,那么这个就是策略模式。

装饰模式
本质是委托,与代理模式不同的是,委托的是接口,实现在子类,最终价值表现在这个类的多个子类上。

责任链模式
本质是委托,与代理模式有共通之处,区别在于委托是在接口层面表现的,委托给接口,代理模式是在子类层面委托,委托给另一个子类。概念上是关注的点不同,在于链上,通常只有一个接口是这个模式的体现。

命令模式
本质是命令的封装,隔离调用者和执行者。如果功能的实现包含动作封装、接收动作的角色,以及最终处理的角色,那么这就是命令模式。
对比策略模式,多一个接受者角色,关注点不同,关注解耦。

中介者模式
本质是耦合的处理。如果多个类相互交互是通过星型模式来实现的,那么这个就是中介者模式。

代理模式
本质是委托。如果实现某个接口,而接口的具体实现全部由委托完成,那么这就是代理模式。

原型模式
本质是对象的复制,如果对象的复制是由其本身的一个方法提供的,这就是原型模式。

建造者模式
本质是多参数默认值不确定时的构造问题,如果剥离构造参数至一个单独类,将构造过程的参数设置独立出来由这个类去处理,这就是建造者模式。
与工厂模式相比,建造者模式关注细节,工厂关注整体。

模板模式
本质是多态,如果利用多态实现父类“调用”子类的实现,那么这就是模板模式。

相关文章

网友评论

      本文标题:设计模式总结

      本文链接:https://www.haomeiwen.com/subject/kiwluttx.html