23种设计模式(软考)
设计模式的原则。设计模式有六大原则:①单一职责原则;②里氏置换原则;③依赖倒置原则;④接口隔离原则;⑤迪米特原则;⑥开闭原则;
创建型模式:对对象实例化过程的抽象,通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息。包括以下几种设计模式。
- 抽象工厂模式:提供创建一组或者一系列相关的相互依赖对象的接口。
- 构建器模式:将复杂对象的构件与它的表示分离,使得同样的构建过程可以创造不同的表示。
- 工厂方法模式:定义一个用于创建对象的接口,由子类决定实例化那个类的对象。
- 原型模式:指定创建对象的种类,并且通过拷贝这些原型创建新的对象。以一个已有的对象作为原型,通过它来创建新的对象。
- 单例模式:一个类只有一个实例。
结构型模式:主要用于如何组合已有的类和对象以获得更大的结构,它采用集成机制来组合接口和实现,以提供统一的外部视图或新的功能。
- 适配器模式:将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
- 组合模式:将对象组合成树型结构以表示“部分–整体”的层次结构。
- 外观模式:位子系统中的一组接口提供一个统一的接口,外观模式通过提供一个高层接口隔离了外部系统与子系统见负载的交互过程,使得复杂的子系统更容易使用。
- 享元模式:通过共享对象减少系统中低的能级的,详细的对象数目。
- 代理模式:为控制对出事对象的访问,提供了一个代理或者占位符对象。
行为型模式:从大量实际行动中概括出来作为行为的理论抽象、基本框架和标准。该类模式主要用于对象之间的职责及其提供的服务的分配,它不仅描述对象或类的模式,还描述它们之间的通信模式。
- 责任链模式:在系统中建立一个链,消息可以首先接收它的级别被处理,或者定位带可以处理它的对象。
- 命令模式:在对象中封装请求,保存命令并传递给方法以及像任何其他对象一样返回该命令。
- 解释器模式:解释定义及其语法表示的语言。
- 迭代器模式:提供一种方法顺序地访问一个聚合对象中的各个元素,而又不暴露对该对象的内部表示。
- 备忘录模式:保持对象状态的“快照”,在不向外界公开其内容的情况下返回它的最初状态。
- 观察者模式:为组件向相关接收方广播消息提供了灵活的方法。
- 状态模式:允许对象在内部状态变化时变更其行为,并且修改其类。
- 策略模式:定义了一组用来表示可能行为集合的类。
- 模版方法模式:提供了在不重写方法的前提下允许子类重载部分方法的方法。
- 访问者模式:提供了一种方便的、可维护的方法来表示在对象结构元素上进行的操作。该模式允许在不改变操作元素的前提下定义一个新操作。
- 中介者模式:功过引入一个能够管理对象间消息分布的对象,简化了系统对象的通信。
评论