Design patterns 为什么代理模式被分类为结构模式?
根据结构模式,他们关注如何组合类和对象以形成更大的结构 适配器和装饰器符合此定义。但对于代理来说,它只是主体和真实对象之间的一种交互,它并没有结合任何东西来产生一个新的对象。它不应该被归类为行为模式吗 我读过不同的帖子,也有相关的问题,比如 和Design patterns 为什么代理模式被分类为结构模式?,design-patterns,conceptual,proxy-pattern,Design Patterns,Conceptual,Proxy Pattern,根据结构模式,他们关注如何组合类和对象以形成更大的结构 适配器和装饰器符合此定义。但对于代理来说,它只是主体和真实对象之间的一种交互,它并没有结合任何东西来产生一个新的对象。它不应该被归类为行为模式吗 我读过不同的帖子,也有相关的问题,比如 和 但是没有人回答这个问题。有趣的问题,我将尝试回答: 行为模式侧重于对象之间的松散耦合通信和具体职责的分配(如您提供的链接所述)。如果我们看一下策略模式、模板模式或观察者,我们可以区分责任和每个类所做的事情(它们的责任和具体实现是什么)。如果我们将策略或
但是没有人回答这个问题。有趣的问题,我将尝试回答: 行为模式侧重于对象之间的松散耦合通信和具体职责的分配(如您提供的链接所述)。如果我们看一下策略模式、模板模式或观察者,我们可以区分责任和每个类所做的事情(它们的责任和具体实现是什么)。如果我们将策略或观察者的一个具体实现替换为另一个,通信仍然保持不变,但是替换对象会影响对象的工作方式(内部)。换句话说:在行为模式中,我们交换类的具体实现,以强制更改代码片段的行为,而不中断对象之间的一般通信。这里我们不关注对象之间的关系,只关注交换 在结构模式中(我在这里查看decorator,它可能与我们关注简化接口数量的facade模式不完全兼容):