假設我有兩個實體:User
和UserGroup
。
他們有一個一對多的關係=>每個UserGroup
實際上包含0到n個用戶。何處放置兩個相關對象的業務邏輯?
如果我想檢索UserGroup
的用戶,那麼在我的業務層中放置該方法會更好?
- 在
UserManager
,添加方法:GetAllUsersForUserGroup
- 在
UserGroupManager
添加上述方法。
猜測2更好。但我不確定。
謝謝。
UPDATE
猜測我無法完全解釋我的意思。
是的,我們可以有User
,Users
,Group
,Groups
等
但我不是要找出什麼不同的圖案等可以應用到實現業務。我的問題是:你把GetAllUsersForUserGroup(int UserGroupID)
在UserManager
或GroupManager
?你認爲GetAllUsersForUserGroup(int UserGroupID)
應該在管理用戶的班級還是在管理用戶組的班級中定義?
感謝。我瞭解你的建議,並且已經在我的圖層中實現了它。我想知道的是:你會在哪裏放置FindUsersByGroup方法?在'UserBLL'或'UserGroupBLL'中?你認爲這個方法與哪個實體更相關? – Kamyar 2011-06-08 07:55:13
@Kamyar - 不太清楚你的要求 - 如果UserBLL/UserGroupBLL是包含業務邏輯的域對象,那麼兩者都不 - 它們不應該對查找功能負責 - 將該任務委託給存儲庫對象。如果UserBLL和UserGroupBLL實際上只是DAO,那麼就像我在答案中所說的那樣,您可能會爭論 - 我個人的選擇是UserGroup,假設用戶不知道UserGroups – 2011-06-08 08:10:56
他們是DAO。我將在您確認的'UserGroupManager'中定義它。謝謝,抱歉,這個雄心勃勃的問題。 – Kamyar 2011-06-08 08:16:03