Oop 简单的OO设计:添加责任放在哪里?
我的应用程序域有用户。它也有组织。用户可以创建组织 我的问题是我应该把createOrganizations方法放在哪个控制器上?它属于UserController吗?还是属于组织控制器?我该怎么做决定 无论如何,我计划在组织模型上添加一个方法Oop 简单的OO设计:添加责任放在哪里?,oop,design-patterns,Oop,Design Patterns,我的应用程序域有用户。它也有组织。用户可以创建组织 我的问题是我应该把createOrganizations方法放在哪个控制器上?它属于UserController吗?还是属于组织控制器?我该怎么做决定 无论如何,我计划在组织模型上添加一个方法 有什么想法吗?正如您所说,用户可以创建一个组织,因此除非该组织不跟踪所有者(不太可能),否则您应该将CreateOrganization方法委托给用户。我能想到的一个基本想法是: 用户:通过调用OrganizationRepository::Add(O
有什么想法吗?正如您所说,用户可以创建一个组织,因此除非该组织不跟踪所有者(不太可能),否则您应该将CreateOrganization方法委托给用户。我能想到的一个基本想法是:
- 用户:通过调用OrganizationRepository::Add(OwnerId)创建组织
- 组织:只能在提供所有者id的情况下创建
David它属于组织控制器 组织控制器应管理组织模型的任何创建/更改。用户不应该知道创建组织的方式或内容。如果你给他们创建组织的能力,你就是在耦合逻辑。您做出此决定是因为您同时拥有用户和组织控制器 如果您的用户/组织没有真正证明存在的合理性,也就是说,他们没有真正控制太多,那么将他们合并为一个
如果这两个类都存在,我会选择organization。你好,David,我认为我的应用程序可能比您设想的简单-例如,没有OrganizationRepository。。。不过,谢谢你的回复。