设计模式是关于软件设计的一种通用解决方案,包括在特定情况下最适合使用的设计模式。在软件行业中,设计模式的使用可以使程序员更容易编写有组织的、可重用和可维护的代码。设计模式通常被分为三种类型:创建型、结构型和行为型。
一、创建型模式
创建型模式关注的是如何创建对象。它们提供了一种让代码更容易扩展和更适应变化的方式。共五种创建型设计模式:
1. 工厂模式:工厂模式提供一个接口以便您能使用它来创建对象,而不是直接使用 new 关键字。
2. 抽象工厂模式:抽象工厂模式使您能够创建一系列相关的对象,同时不需要暴露创建逻辑的细节。
3. 单例模式:单例模式是保证应用程序中只有一个对象实例的一种方法。它非常有用,特别是在需要为对象提供一个共享资源时。
4. 建造者模式:建造者模式使您能够逐步地创建一些复杂的对象。这种模式非常适合于创建需要大量设置的对象。
5. 原型模式:原型模式是制作类的副本的一种方式。
二、结构型模式
结构型模式描述组合对象以形成更大对象的方式。它们用于建立各种对象之间的关系,并允许开发人员更轻松地使用这些对象。共七种结构型设计模式:
1. 适配器模式:适配器模式允许两个不相关的对象协同工作。它将一个对象的接口转换为另一个对象所需的接口。
2. 桥接模式:桥接模式用于将实现细节与类和其客户端分离开来。它使您能够改变对象及其实现,而不会影响其他组件。
3. 组合模式:组合模式是将对象组合成树形结构的一种方法。这种模式允许您用类似于树的方式处理对象。
4. 装饰模式:装饰模式用于动态地向对象添加新的职责,而不会影响现有的代码。这是一种非常好的方式,它允许您在运行时修改对象的行为。
5. 外观模式:外观模式用于为特定子系统中的对象提供统一的界面。这种模式将同类对象进行分组,并提供一个简化的接口来与它们进行交互。
6. 代理模式:代理模式允许您在运行时控制对象的访问。它是一个非常有用的模式,特别是在需要限制对象访问的情况下。
7. 享元模式:享元模式是一种用于共享对象的技术。
三、行为型模式
行为型模式描述了对象之间的通信方式。它们描述了对象如何交互,以及如何保证对象能够协同工作。共十一种行为型设计模式:
1. 责任链模式:责任链模式用于将多个对象链接在一起,以便能够更高效地处理程序的特定方面。
2. 命令模式:命令模式将对象的调用和执行分开。这允许您更方便地修改代码,而无需修改客户端代码。
3. 解释器模式:解释器模式用于将语言解析成不同的类,以便您能够更有效地处理程序中的不同方面。
4. 迭代器模式:迭代器模式是从一个对象集合中顺序访问元素的模式。
5. 中介者模式:中介者模式用于将一个对象的改变传递给其他相关的对象。这种模式有助于降低挂起对象之间的耦合度。
6. 备忘录模式:备忘录模式允许您保存和恢复一个对象的状态。
7. 观察者模式:观察者模式用于订阅一个对象的变化通知。这种模式非常有用,特别是在需要监视对象变化的情况下。
8. 状态模式:状态模式用于在一个对象的状态发生变化时处理多个行为。这种模式有助于分离不同状态的代码。
9. 策略模式:策略模式用于在运行时改变对象的算法。这种模式非常有用,特别是在需要在程序运行时逐步改变算法的情况下。
10. 模板方法模式:模板方法模式是定义一套算法流程,并将其中一些步骤交由子类去实现,使得子类可以更方便地修改算法流程。
11. 访问者模式:访问者模式描述了一个操作对象的外部操作对象如何运作。这种模式非常有用,特别是在需要模拟操作对象的情况下。
微信扫一扫,领取最新备考资料