我真的对类图产生了偏执.假设我有一个名为Investigation
的类.在该类中有一个名为share
的操作,它允许用户共享调查.假设我还有一个名为User
的类.因为用户可以共享调查,类User
是否也应该具有名为share
的操作?我真的很困惑.协会会解决这个问题吗?
我真的对类图产生了偏执.假设我有一个名为Investigation
的类.在该类中有一个名为share
的操作,它允许用户共享调查.假设我还有一个名为User
的类.因为用户可以共享调查,类User
是否也应该具有名为share
的操作?我真的很困惑.协会会解决这个问题吗?
如果User
和Investigation
之间存在 struct semantic relationship,则需要User
和Investigation
之间的关联,例如,如果用户分配了调查,如果调查归某些用户所有,或者如果用户有要浏览的关联列表.
如果有一种短暂的关系,例如,如果用户可以浏览所有调查,并不时决定共享一项调查,而不保留任何痕迹,则没有必要进行关联.
现在,如果Investigation
有share
操作,User
可以简单地使用该操作,无论是否存在与调查相关的操作.
然而,如果另一个类需要告诉User
共享调查(例如,用户界面的一个类),那么问题就出现了.在这种情况下,您可能会对User
进行share
运算感兴趣.但如果你这样开始,你需要看看principle of least knowledge,因为这样的设计可能会导致很多隐藏的耦合,这使得软件在future 的发展中很难维护.