hobbit

中介者模式

无人久伴 提交于 2020-12-18 16:24:59
中介者模式:用一个中介对象来封装一系列对象的交互,从而把一批原来可能是交互关系复杂的对象转换成一组松散耦合的中间对象,以有利于维护和修改 中介者模式适用场景: 系统中对象间存在较为复杂引用,导致依赖关系和结构混乱而无法复用的情况。 想通过一个中间类来封装多个类的行为,但是又不想要太多的子类。 中介者模式组件: Mediator(抽象中介者):定义了各个同事之间交互需要的方法 ConcreteMediator(具体中介者):需要了解维护各个同事对象,并且负责协调各个具体同事之间的交互 Colleague(抽象同事角色):约束具体同事类的类型、并且实现一些具体同事类之间的公共方法 ConcreteColleague(具体同事角色):每个同事都知道中介者对象,要与同事通信则把通信告诉中介者 中介者模式组件实例: 抽象中介者:定义了各个同事角色之间交互需要的方法 act(PartyMember actor, Action action) public interface Party { void addMember(PartyMember member); void act(PartyMember actor, Action action); } 具体中介者: import java.util.ArrayList; import java.util.List; public class