假设我有两个实体: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