簡體   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