软考 程序员 设计模式
https://www.bilibili.com/video/BV1hg411V7Bm/?p=86
设计模式
设计模式(Design pattern)是众多软件开发人员经过相当长的一段时间的试验和错误总结出来,代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。
设计模式的类型
创建型模式
- 工厂方法(factory method)模式
- 抽象工厂(abstract factory)模式
- 原型(prototype)模式
- 单例(singleton)模式
- 构建器(builder)模式
结构型模式
- 适配器(adapter)模式
- 桥接(bridge)模式
- 组合(composite)模式
- 装饰(decorator)模式
- 外观(facade)模式
- 享元(flyweight)模式
- 代理(proxy)模式
行为型模式
- 职责链(chain of responsibility)模式
- 命令(command)模式
- 解释器(interpreter)模式
- 迭代器(iterator)模式
- 中介者(mediator)模式
- 备忘录(memento)模式
- 观察者(observer)模式
- 状态(state)模式
- 策略(strategy)模式
- 模板方法(template method)模式
- 访问者(visitor)模式
有下划线的表示既可以是类模式,也可以是对象模式;
无下划线的表示只是对象模式
创建型模式
设计模式名称 | 简要说明 |
---|---|
Abstract Factory
抽象工厂模式 |
提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定
它们具体的类 |
Builder
构建器模式 |
将一个复杂类的表示与其构造分离,使得相同的构建过程能够得出
不同的表示 |
Factory Method
工厂方法模式 |
定义一个创建对象的接口,但由子类决定需要实例化哪一个类。
工厂方法使得子类实例化的过程推迟 |
Prototype
原型模式 |
用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新的
对象 |
Singleton
单例模式 |
保证一个类只有一个实例,并提供一个访问它的全局访问点 |