java 我们是否在UML类图中的两个类中应用相同的操作?

qyswt5oh  于 2023-06-28  发布在  Java
关注(0)|答案(1)|浏览(85)

我对类图越来越偏执了。假设我有一个名为Investigation的类。在这个类中有一个名为share的操作,它允许用户共享调查。假设我也有一个名为User的类。类User是否也应该有一个名为share的操作,因为用户可以共享调查?我真的很困惑。协会会解决这个问题吗?

axr492tv

axr492tv1#

如果UserInvestigation之间存在结构性semantic relationship,则需要在两者之间建立关联,例如,如果用户分配了调查,如果调查由某些用户所有,或者如果用户有一个要浏览的关联列表。
如果存在暂时的关系,例如如果用户可以浏览所有调查,并不时决定分享一项调查,而不留下任何痕迹,就没有必要建立联系。
现在,如果Investigation具有share操作,则User可以简单地使用该操作,无论是否与调查相关联。
但是,如果另一个类需要告诉User来共享一个调查(例如,用户接口的类)。在这种情况下,您可能会对Usershare操作感兴趣。但是如果您是这样开始的,那么您需要看一下principle of least knowledge,因为这样的设计可能会导致许多隐藏的耦合,这使得软件在未来的发展中很难维护。

相关问题