12.20每日总结

发布时间 2023-12-20 21:01:45作者: 漏网鲨鱼

今天复习了软件设计模式

软件设计模式是在软件工程领域中,针对特定问题所提出的一套经过反复验证、被广泛接受并被证明能够解决相应问题的解决方案。这些解决方案通常描述了在特定情境下,如何以最佳的方式组织和结构化代码,以解决软件设计和开发中常见的重复性问题。

设计模式不是一种具体的实现或代码,而是一种描述,它提供了解决问题的模板,并指导开发者如何将这些模板应用到自己的项目中。设计模式的目的在于提高软件的可维护性、扩展性和复用性,同时也有助于更好地理解和沟通代码。

设计模式通常由以下几个要素组成:

  1. 模式名称:用于标识和描述模式。
  2. 问题:说明了该模式所解决的问题或情境。
  3. 解决方案:描述了模式的主要组成部分以及它们之间的关系,通常包括结构、参与者、协作和结果等方面的内容。
  4. 效果:讨论了模式的应用和影响,包括了使用该模式所获得的利弊和潜在的权衡。

总之,软件设计模式提供了一套经验丰富的解决方案,帮助开发者在面对特定问题时更快速、更有效地进行设计和编码,并能够更好地满足软件的质量和性能要求。

根据目的,软件设计模式可以分为三类:创建型模式、结构型模式和行为型模式。

  1. 创建型模式:

    • 目的:创建型模式关注对象的创建过程,旨在解耦对象的创建和使用,提供更灵活的对象创建方式。
    • 功能:包括工厂方法模式、抽象工厂模式、建造者模式、原型模式和单例模式等,这些模式通过不同的方式来创建对象,例如通过一个统一的接口创建对象、通过复杂对象的逐步构建来创建对象、通过复制现有对象来创建新对象,以及确保一个类只有一个实例等。
  2. 结构型模式:

    • 目的:结构型模式关注类和对象的组合,旨在实现类和对象之间的静态结构,以便更好地管理它们的关系。
    • 功能:包括适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式和代理模式等,这些模式通过不同的方式来组织类和对象,例如将不同接口的类进行适配、将抽象和实现分离、通过对象组合形成树形结构、动态地给对象添加功能、提供统一的接口等。
  3. 行为型模式:

    • 目的:行为型模式关注对象之间的通信和任务分配,旨在更好地管理对象之间的交互和职责分配。
    • 功能:包括模板方法模式、策略模式、命令模式、职责链模式、状态模式、观察者模式、中介者模式、备忘录模式、访问者模式和解释器模式等,这些模式通过不同的方式来管理对象之间的通信和任务分配,例如定义算法框架、封装可互换的行为、将请求封装成对象、避免循环依赖、根据状态改变对象行为、定义对象间的一对多依赖关系等。

以上是三类常见的软件设计模式及其目的和功能。在实际应用中,根据具体的需求和场景选择适当的设计模式可以提高软件的灵活性、可维护性和可扩展性。