行为型模式
行为型模式提供了对象间的高效沟通和委派机制。
📄️ 责任链模式
责任链模式为请求创建了一个处理器对象的链。如果一个对象不能处理请求,它会将请求传递给下一个处理器,直到请求被处理为止。
📄️ 命令模式
命令模式将命令对应的动作封装成对象,以便在不同的上下文中使用。命令模式的关键是将请求的发送者和接收者解耦,将二者沟通的细节封装在单独的命令对象中。
📄️ 迭代器模式
迭代器模式提供了一种方法以顺序访问一个聚合对象(Collections)中的各个元素,而不需要暴露该对象的内部表示。迭代器模式将迭代逻辑封装在一个独立的迭代器对象中,使得客户端可以独立于聚合对象遍历聚合对象中的元素。
📄️ 中介者模式
中介者模式通过引入一个中介对象来封装同级组件之间的交互,从而减少对象之间的直接依赖关系,降低耦合度,提高系统的可维护性。
📄️ 备忘录模式
备忘录模式提供了一种方法,可以在不暴露对象内部状态的情况下捕获和恢复对象的状态。备忘录模式的关键是将对象的状态保存到备忘录对象中,以便在需要时恢复对象的状态。
📄️ 观察者模式
观察者模式定义了一种一对多的订阅关系,当一个对象的状态发生变化时,所有订阅它的对象都会得到通知。
📄️ 状态模式
状态模式通过将对象所属的状态抽象成类,并利用继承和多态性质来实现状态的切换,从而使得对象在不同状态下能够动态地表现出不同的行为。
📄️ 策略模式
策略模式定义了一系列算法,并将每个算法封装到一个类中,使得它们可以互相替换。策略模式让算法独立于使用它的客户端。
📄️ 模板方法模式
模板方法模式定义了一个 操作中的算法的骨架,将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下重新定义算法的某些步骤。
📄️ 访问者模式
访问者模式定义了一种在不改变对象结构的前提下,对对象中的元素进行操作的方法。访问者模式将数据结构和数据操作分离,使得数据结构可以在不改变的情况下增加新的操作。