2025-09-28
C#
00

摘要

状态模式是一种行为型设计模式,它允许一个对象在其内部状态改变时改变其行为。状态模式将对象的行为封装在不同的状态类中,使得对象可以根据其内部状态的变化而改变其行为,而无需在对象中使用大量的条件语句。

正文

应用场景

状态模式适用于以下场景:

  • 当一个对象的行为取决于其内部状态,并且该行为在运行时可能发生变化时。
  • 当一个类有多个状态,且这些状态之间可以相互转换时。
  • 当需要在运行时动态地添加新的状态时。

状态模式可以帮助我们将复杂的条件逻辑分散到不同的状态类中,使得代码更加清晰、可维护和可扩展。

2025-09-28
C#
00

摘要

访问者模式是一种行为型设计模式,它允许你在不修改对象结构的情况下定义新的操作。通过将操作封装在访问者对象中,可以在不改变对象结构的情况下,为对象结构中的每个元素提供新的操作。

正文

应用场景

访问者模式适用于以下情况:

  • 当一个对象结构包含多种类型的对象,并且希望对这些对象进行不同的操作时。
  • 当需要为一个对象结构添加新的操作,但不希望修改每个对象的类时。
  • 当对象结构中的对象类很少发生变化,但经常需要执行不同的操作时。
2025-09-28
C#
00

摘要

策略模式是一种行为型设计模式,它允许在运行时选择算法的行为。通过将算法封装在独立的策略类中,客户端可以根据需要动态地切换算法,而无需修改使用算法的代码。

正文

结构

策略模式由三个主要组件组成:

  • 环境(Context):环境对象通过一个策略接口与客户端进行交互。它持有一个策略对象,并在需要时调用策略对象的方法。
  • 策略接口(Strategy Interface):策略接口定义了算法的通用方法。
  • 具体策略类(Concrete Strategies):具体策略类实现了策略接口,提供了不同的算法实现。
2025-09-28
C#
00

摘要

备忘录模式是一种行为设计模式,它允许在不破坏封装的情况下捕获和恢复对象的内部状态。该模式通过将对象的状态保存到备忘录对象中,并在需要时从备忘录中恢复状态,实现了对象状态的保存和恢复。

正文

结构

备忘录模式由以下几个角色组成:

  • 发起人(Originator):负责创建备忘录对象,并可以使用备忘录对象来恢复其内部状态。
  • 备忘录(Memento):存储发起人对象的内部状态。
  • 管理者(Caretaker):负责保存和恢复备忘录对象。
2025-09-28
C#
00

摘要

职责链模式是一种行为型设计模式,它允许多个对象按照顺序处理请求,直到其中一个对象能够处理为止。每个对象都可以选择将请求传递给下一个对象,也可以选择自行处理请求。

正文

结构

职责链模式由以下几个角色组成:

  • 抽象处理者(Handler):定义一个处理请求的接口,并且保存下一个处理者的引用。
  • 具体处理者(ConcreteHandler):实现抽象处理者接口,处理请求,如果自己无法处理,则将请求传递给下一个处理者。
  • 客户端(Client):创建处理者对象,并将请求发送给第一个处理者。