架构设计
工厂方法设计模式
意图 定义一个用于创建对象的接口,但让子类决定要实例化哪个类。工厂方法允许类将实例化推迟到子类。 定义一个“虚拟”构造函数。 new运营商认为有害。 问题 框架需要为一系列应用程序…
责任链设计模式
意图 通过让多个对象有机会处理请求,避免将请求的发送者与其接收者耦合。链接接收对象并沿链传递请求,直到对象处理它。 使用包含许多可能处理程序的单个处理管道启动和离开请求。 具有递归…
门面设计模式
意图 为子系统中的一组接口提供统一的接口。Facade 定义了一个更高级别的接口,使子系统更易于使用。 用更简单的接口包装复杂的子系统。 问题 客户社区的一部分需要一个简化的接口来…
组合设计模式
意图 将对象组合成树结构以表示整个部分的层次结构。Composite 让客户可以统一处理单个对象和对象的组合。 递归组合 “目录包含条目,每个条目都可以是一个目录。” 一对多“有一…
中介者设计模式
意图 定义一个对象,该对象封装一组对象如何交互。Mediator 通过阻止对象显式地相互引用来促进松散耦合,并且它允许您独立地改变它们的交互。 设计一个中介来解耦许多对等点。 将交…