23种设计模式
设计模式
UML类图总结
UML
创建型模式
创建型模式(Creational Pattern):关注对象的创建过程。对类的示例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离,对用户隐藏了类的实例的创建细节。
每一个创建型模式都通过采用不同的解决方案来回答3个问题
- 创建什么(What)
- 由谁创建(Who)
- 何时创建( When)
GOF设计模式中包含5种创建型模式,通常将一种非GOF设计模式——简单工厂模式作为其他工厂模式的基础。
结构型模式
结构型模式(Structural Pattern):关注如何将现有类或对象组织在一起形成更加强大的结构。不同的结构型模式从不同的角度来组合类或对象。它们在尽可能满足各种面向对象设计原则的同时为类或对象的组合提供一系列巧妙的解决方案。
结构型模式主要描述两种不同的东西——类与类的实例(对象)。
分类为:
-
类结构型模式
- 关心类的组合:继承与实现(一般)
-
对象结构型模式[常]
- 关心类与对象的组合:关联关系
行为型模式
行为型模式(Behavioral Pattern):关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信与协作,进一步明确对象的职责。
行为型模式不仅关注类和对象本身,还关注它们之间的相互作用和职责划分。
分类为:
-
类行为模式
- 使用继承关系在几个类之间分配行为,主要通过多态等方式来分配父类和子类的职责
-
对象行为模式[常]
- 使用对象的关联关系来分配行为,主要通过对象关联等方式来分配两个或多个类的职责
-
备忘录模式(Memento Pattern)
-
状态模式(State Pattern)
-
策略模式(Strategy Pattern)
-
模板方法模式(Template Method Pattern)
-
访问者模式(Visitor Pattern)