是否想知道UML是否合理且可以接受?
请不要怀疑是否需要根据类的名称进行组合或聚合。
就像对待UML一样对待它们。
另外,在实际编码中,我实际上是在使用GoodArticle与Newspaper进行通讯,而不是与父类Article进行通讯。但是就表示UML而言,即使实际上是GoodArticle,我还是应该将父类(Article)连接到报纸上?
可以说这也类似于GoodArticle与BadArticle连接进行合成的情况。 BadArticle应该改为连接到父类Article吗?但是我实际上是在编码中使用GoodArticle与BadArticle连接。
最佳答案
我将按原样阅读您的图表,即-我将对其进行解释。如果我的解释正确,那么您的模型很可能是正确的。这就是UML的全部意义-在建模下明确传输信息。
所以...
阅读图表:报纸有文章,包括GoodArticles和BadArticles。文章独立存在于报纸上,例如,如果您删除报纸实例,则其文章将保持“浮动”状态。你说:
我实际上是在使用GoodArticle与Newspaper交流,而不是
实际编码中的父类文章。但是就
代表UML,我仍然应该将父类(文章)连接到
报纸虽然实际上是GoodArticle?
否。如果只有GoodArticles连接到Newspaper,则应在这两个类之间进行绘制。这种类图是代码的蓝图,应准确显示代码结构。
阅读该图:GoodArticle包含BadArticles。此包含是排他性的,这意味着如果删除GoodArticle,将自动删除所有包含的BadArticles。
在这里你说:
BadArticle应该改为连接到父类Article吗?但是,我
实际上是在编码中使用GoodArticle与BadArticle连接。
这次,该图反映了代码,因此可以,BadArticle不应连接到Article。如果这样做,则意味着BadArticle也可以包含其他BadArticles。
请注意,属性listOfBadArticle可能是多余的。如果它引用图表上的组成,则应将其删除,并在相应的组成端使用它作为名称。