快速上手设计模式

设计模式(Design Patterns) ——可复用面向对象软件的基础

设计原则:

  1. 封装变化。找出应用中可能需要变化的部分,把它独立出来,不要和那些不需要变化的代码混合在一起。
  2. 针对接口编程,而不是针对实现编程。
  3. 多用组合,少用继承。  使用组合建立系统具有很大弹性,不仅可以将算法族封装成类,更可以“在运行时动态地改变行动”。只要组合的行动对象符合正确的接口标准即可。
  • 适配器模式——Adapter

比较常见的示例:如电源适配器。

eg:我们国家的电器使用普通的扁平两项或三项插头,而去外国的话,使用的标准就不一样了,比如德国,使用的是德国标准,是两项圆头的插头。如果去德国旅游,那么我们使用的手机充电器插头无法插到德国的插排中去,那就意味着我们无法给手机充电。

怎样解决这个问题呢?只要使用一个电源转化器就行了。

适配器分类适配器和对象适配器。

转接头是类适配器,万能充是对象适配器。

http://www.runoob.com/design-pattern/adapter-pattern.html

  • 装饰器模式(Decorator Pattern)

    • 装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。

  • 外观模式——Facade模式

  • 为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度

设计模式之组合模式:

组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。

分透明组合模式与安全组合模式

https://www.cnblogs.com/lfxiao/p/6816026.html

命名模式:

http://www.runoob.com/design-pattern/command-pattern.html

原文地址:https://www.cnblogs.com/developer-qin/p/7927340.html