设计模式简述


什么叫设计模式

每一种设计模式描述一个在我们周围不断重复发生的问题以及该问题解决方案的核心,这样子就能持续的使用该方案,而不必重复劳动。

设计模式的基本要素

模式名称 (pattern name) — 标识模式,用来代指模式的问题,解决方案和效果。
问题描述(problem) — 描述何时使用模式,也包括模式使用模式的先决条件。
解决方案(solution) — 描述设计的组成部分,及其关系,职责和协作方式。
效果评估(consequences) — 描述模式的应用效果,使用此模式的注意事项。

设计模式的关键 — MVC

Model — 对象,View — 视图,Controller — 控制

23种设计模式简述

  1. Abstract Factory (抽象工厂模式) — 提供一个创建一系列相关或相互依赖的对象的接口,而无需指定他们具体的类。
  2. Adapter(适配器) — 将一个类的接口转化成客户希望的另一个接口(不兼容变兼容)。
  3. Bridge(桥模式) — 将抽象部分与实现部分分离,使他们可以独立变化。
  4. Builder(建造者模式) — 将一个复杂问题的对象的构建与他的表示分离,是的同样的构建可以创造不同的表示。
  5. Chain Of Responsibility(职责之链模式) — 为了解除请求的发送者和接受者的耦合,使多个对象都有机会处理这个请求,将这些请求连成链条,并沿着这条链条传递该请求,直到有一个对象处理他。
  6. Command(命令模式) — 将一个请求封装成一个对象,从而可用不同的请求对客户进行参数化,对请求排队或者记录请求日志以及支持可取消的操作。
  7. Composite(组合模式) — 将对象组合成树形结构以表示部分– 整体的层次结构。使得客户对单个对象和复合对象的使用具有一致性。
  8. Decorator(装饰器) — 动态的给类添加一些额外的职责。
  9. Facade(外观模式) — 为子系统中一组接口提供一个一致的界面,定义了高层 接口,这个接口使得这一子系统使用更加容易。
  10. Factory Method(方法工厂模式) — 定义一个用于创建对象的接口,让子类决定将哪一类实例化。
  11. Flyweight(享元模式) — 运用共享技术有效的支持大量细粒象度的对象。
  12. Interpreter(解释器) — 给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示解释语言中的句子。
  13. Iterator(迭代器) — 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要该对象内部的表示。
  14. Mediator(中介者模式) — 用一个中介对象来封装一系列的对象交互。
  15. Memento(备忘录模式) — 在不破坏封装性的前提下,捕获一个对象内部的状态,并在该对象外保存此状态。
  16. Observer(观察者模式) — 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生变化时,所有依赖他的对象都得到通知并自动刷新。
  17. Prototype(原型模式) — 用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。
  18. Proxy(代理模式) — 对其他对象提供一个代理,以控制对这个对象的访问。
  19. Singleton(单例模式) — 保证一个类仅有一个实例,并提供一个访问他的全局访问点。
  20. State(状态模式) — 允许一个对象在其内部状态改变时改变其行为,对象看起来似乎修改了它属于的类。
  21. Strategy(策略模式) — 定义一系列的算法,把它们一个个封装起来,并且使他们可相互替换。
  22. Template Method(模板方法模式) — 定义一个操作中算法的骨架,而将一些步骤延迟到子类中来。
  23. Visitor(访问者模式) — 当该对象结构被很多应用共享时,用Visitor模式让每个应用仅包含需要用到的操作。

版权所有丨如未注明,均为原创,转载请注明转自:https://whonee.net/%e8%ae%be%e8%ae%a1%e6%a8%a1%e5%bc%8f%e7%ae%80%e8%bf%b0.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注