摘要: 简介 模板方法模式(Template Method Pattern)是一种行为设计模式,它定义了一个操作中的算法的骨架,将一些步骤延迟到子类中实现。这样,可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 结构 抽象类(Abstract Class):定义了一个模板方法,其中包含算法的骨架,以 阅读全文
posted @ 2024-02-29 14:44 咸鱼翻身? 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 简介 策略模式(Strategy Pattern)是一种行为设计模式,它允许在运行时选择算法的行为。这种模式定义了一系列算法,将每个算法封装起来,并使它们可以相互替换。策略模式使得算法可以独立于其使用者而变化,使得使用者可以根据需要在运行时选择适当的算法。 以下是策略模式的一般结构和示例代码: 结构 阅读全文
posted @ 2024-02-29 14:33 咸鱼翻身? 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 简介 状态模式(State Pattern)是一种行为型设计模式,它允许对象在内部状态发生改变时改变它的行为。这种模式把对象的状态从对象中分离出来,将不同状态下的行为封装到不同的状态类中,使得状态转换时可以简化对象的行为控制,并且使得状态间的切换更加灵活。 结构 Context(上下文):维护一个状 阅读全文
posted @ 2024-02-29 14:21 咸鱼翻身? 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 简介 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听并且被自动通知某一个主题对象的状态变化,以便做出相应的反应。 结构 观察者模式包括以下几个角色: Subject(主题):被观察的对象,它维护了一系列观察者对象,并提供添加 阅读全文
posted @ 2024-02-29 13:57 咸鱼翻身? 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 简介 备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不暴露对象实现细节的情况下捕获并保存其内部状态,以后可以将其恢复到先前的状态。备忘录模式通常用于需要在不破坏封装性的情况下保存和恢复对象状态的情景。 结构 备忘录模式包括以下几个角色: Originator(原发器):负 阅读全文
posted @ 2024-02-29 13:41 咸鱼翻身? 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 简介 中介者模式(Mediator Pattern)是一种行为型设计模式,旨在减少对象之间的直接通信,通过引入一个中介对象来促进对象之间的松耦合通信。在这种模式中,对象之间不再直接相互引用,而是通过中介者对象来进行通信。 中介者模式通常包含以下几个角色: 中介者(Mediator):负责定义接口,用 阅读全文
posted @ 2024-02-29 13:21 咸鱼翻身? 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 简介 迭代器模式是一种行为型设计模式,它用于提供一种顺序访问聚合对象(如列表、集合、数组等)中的元素,而不需要暴露该对象的内部表示。这种模式将迭代操作从聚合对象中分离出来,使得可以在不同的聚合对象上使用相同的迭代逻辑。 在迭代器模式中,通常会有两个主要角色: 迭代器(Iterator):定义了一种顺 阅读全文
posted @ 2024-02-29 11:06 咸鱼翻身? 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 简介 解释器模式(Interpreter Pattern)是一种行为设计模式,用于定义一种语言的语法,并提供一个解释器来解释该语言中的表达式。这种模式通常用于处理特定类型的问题,例如解释一种特定的语言或表示法。 结构 解释器模式通常包含以下角色: 抽象表达式(Abstract Expression) 阅读全文
posted @ 2024-02-29 10:50 咸鱼翻身? 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 简介 命令模式是一种行为设计模式,它允许将请求或操作封装为单独的对象。这些请求可以被参数化,队列化,记录日志,以及支持撤销操作。 以下是命令模式的几个关键角色: 命令(Command):抽象命令接口,定义了执行命令的方法,通常包含一个 execute() 方法。 具体命令(Concrete Comm 阅读全文
posted @ 2024-02-29 09:31 咸鱼翻身? 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 简介 职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理它为止。这种模式允许多个对象都有机会处理请求,避免了发送者和接收者之间的耦合关系。 结构 Handler(处理者):定义处理请求的接口,并 阅读全文
posted @ 2024-02-29 09:14 咸鱼翻身? 阅读(2) 评论(0) 推荐(0) 编辑