观察者模式(Observer):当对象间存在一对多关系时,则使用观察者模式。一个被观察的对象变化时,所有依赖它的对象都会得到通知并自动更新。
策略模式(Strategy):定义一系列算法,把它们一个个封装起来,并使它们可以互换。
命令模式(Command):将一个请求封装为一个对象,从而允许用户使用不同的请求、队列或日志请求来参数化其他对象。
模板方法模式(Template Method):定义一个算法的骨架,将一些步骤延迟到子类中实现。
迭代器模式(Iterator):提供一种方法来顺序访问一个聚合对象的元素,而不暴露其内部表示。
责任链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。
中介者模式(Mediator):定义一个中介对象来简化其他对象之间的交互。
状态模式(State):允许对象在其内部状态改变时改变它的行为。