繁体   English   中英

一个简单应用程序的类图

[英]Class diagram for a simple application

假设我们有3个实体:Library,Section和Book。

Library由几个Sections组成。 一个Section有几Books

Book可能只属于一个Section 最后,一Section可能仅属于1个Library

我看到的方式是类Library 聚合Sections的集合,而类Section 聚合Books的集合。

现在,我需要将所有电子书上传到服务器。 我构建了一个BookUploader类, BookUploader在其构造函数中使用Book对象。 在服务器上,我为每个库创建了一个文件夹,在每个库中,我将创建一个Section文件夹并将Book放入其中。

问题是,因为我将Book对象传递给BookUploader,所以我不知道它的Section是什么。 另外,我不知道哪个部分属于哪个库。

所以我想我只是将Library对象传递给BookUploader,然后循环所有Section,然后循环每个Section中的所有Books,但是有人告诉我,现在BookUploader依靠3个类来上载Book,这是一个糟糕的设计。

他建议每个Book对象都应该包含它的Section,每个Section应该包含它的Library,这是我原始设计的总逆。

谁能分享他对哪种设计更好的想法,为什么?

提前致谢。

将聚合定义为双向关联的一端没有任何问题。 (请查看此处此处的示例。)

如果要查找实现细节,请查看EReferences中的ecoreEOpposite功能。

阅读@Chad的评论后,我意识到设计本身需要对相关实体进行一些修改。 缺少的是每个子类中的一个函数,该函数将返回对其父级的引用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM