设计模式总结篇

(一) 创建型模式

Singleon模式:解决的是实体对象个数的问题。除了Singleton之外,其它创建型模式解决的都是new所带来的耦合关系。

Factory Method 、Absract Factory 、Builder都需要一个额外的工厂类来负责实例化“易变对象”,而Protorty则是通过原型(一个特殊的工厂类)来克隆“易变对象”。

通常如果遇到“易变类”,超初的设计都是从Factory Method开始,当遇到更多的复杂变化时,再考虑重构为其他三种工厂模式。


(二)结构型模式

Adaper模式:注重转换接口,将不吻合的接口适配对象。

Bridge模式:注重分离接口与其实现,支持多维度变化。

Composite模式:注重统一接口,将“一对多”的关系转化为“一对一”的关系。

Decorator模式:注重稳定接口,在此前提下为对象扩展功能。

Facade模式:注重简化接口,简化组件系统与外部客户程序的依赖关系。

Flyweight模式:注重保留接口,在内部使用。在内部使用共享技术对对象在存储进行优化。

Proxy模式:注重假借接口,增加间接层来实现灵活控制。

 

(三)行为型模式

Template Method模式:封装算法结构,支持算法子步骤变化.

Stragegy 模式:注重封装算法,支持算法的变化。

State模式:注重封装与状态相关的行为,支持状态的变化.

Memento模式:注重封装对象状态的变化,支持状态的保存、恢复。

Mediator模式:注重封装对象间的变互,支持对象交互的变化。

ChainOfResponsibility模式:注重封装对象责任,支持责任的变化。

Command模式:注重将请求封装为对象,支持请求的变化。

Iterator模式:注重封装集合对象内部变化,支持集合的变化。

Interpreter模式:注重封装特定领域变化,支持领域问题的频繁变化。例如字符串的模式匹配。

Observer模式:注重封装对象通知,支持通信对象的变化。

Visitor模式:注重封装对象操作变化,支持在运行时为类层次结构动态添加新的操作。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值