【发布时间】:2023-03-07 13:07:02
【问题描述】:
我是 UML 新手,我接触过序列图,并意识到有两种类型:分布式和集中式。谁能解释一下这些区别?
【问题讨论】:
-
究竟是什么让你“意识到”有这两种类型?对我来说,这看起来像是一个完全人为的划分。顺便说一句:UML 规范没有提到它
标签: uml
我是 UML 新手,我接触过序列图,并意识到有两种类型:分布式和集中式。谁能解释一下这些区别?
【问题讨论】:
标签: uml
集中控制,一个参与者进行大部分处理,其他参与者提供数据。
例子:
分布式控制,处理分散在许多参与者之间,每个参与者都做一点算法
例子:
这两种风格都有其优点和缺点。大多数人,尤其是那些刚接触对象的人,更习惯于集中控制。在许多方面,它更简单,因为所有处理都在一个地方;相比之下,使用分布式控制,您会产生追逐对象,试图找到程序的感觉。
尽管如此,对象偏执狂喜欢分布式控制。好的设计的主要目标之一是本地化变化的影响。访问该数据的数据和行为经常一起改变。因此,将数据和使用它的行为放在一个地方是面向对象设计的第一条规则。
此外,通过分配控制,您可以为使用多态而不是使用条件逻辑创造更多机会。如果不同类型产品的产品定价算法不同,分布式控制机制允许我们使用产品的子类来处理这些变化。
【讨论】: