设计模式
设计模式是软件开发中可重复使用的解决方案。它们充当模板,程序员在创建应用程序时可以使用这些模板。它们并不专属于某种编程语言,而是可以应用于不同编程环境的最佳实践或启发式方法。
虽然设计模式不依赖于编程语言,但其中通常包含对象或类。因此,它们通常与面向对象编程相关。各个模式可以分为三类:1)创建型模式,2)结构型模式,3)行为型模式。
1. 创建型模式
创建型设计模式描述了如何使用适合不同情况的方法来创建对象。例如,“单例”模式用于创建一个只有一个实例的基本类。一个常见示例是,在程序的源代码中定义的全局变量。“对象池”模式用于创建一个包含对象“池”的类,需要时可以从中获取对象,而不必重新创建对象。这通常用于缓存。
2. 结构型模式
结构型设计模式定义了对象之间的关系。例如,“私有类数据”模式用于限制对特定类的访问。这可以防止对象被意外修改。另一方面,“装饰器”类允许在运行时向对象添加行为和状态。这为程序员提供了根据需要向对象添加任意数量类的灵活性。一个示例是视频游戏中的角色头像,它会在游戏过程中逐渐获得武器、护甲和物品。名称恰当的“装饰器”类可以为这一过程提供良好的框架。
3. 行为型模式
行为型设计模式描述对象的行为,例如对象彼此通信的方式。一个示例是“命令”模式,它描述了执行命令的对象。“备忘录”模式记录对象的状态,以便将其恢复到保存的状态。这两种模式可以结合使用,在程序中执行撤销和重做操作。
总结
这三类中的每一类都包含程序员可以使用的其他多个设计模式。虽然这些模式为软件开发人员提供了有用的模板,但有时也有人批评它们对于某些应用程序来说没有必要,或不够具体。因此,虽然设计模式是编程中的实用工具,但要创建设计良好的软件程序,并不需要严格遵循这些模式。
测试你的知识