【发布时间】:2011-02-27 05:51:23
【问题描述】:
我的应用程序域有用户。它也有组织。用户可以创建组织。
我的问题是我应该将 CreateOrganisations 方法放在哪个控制器上?它属于 UserController 吗?或者它是否属于 OrganisationController?我该如何做出这个决定?
无论如何,我计划在组织模型上添加一个 Add 方法。
有什么想法吗?
【问题讨论】:
标签: oop design-patterns
我的应用程序域有用户。它也有组织。用户可以创建组织。
我的问题是我应该将 CreateOrganisations 方法放在哪个控制器上?它属于 UserController 吗?或者它是否属于 OrganisationController?我该如何做出这个决定?
无论如何,我计划在组织模型上添加一个 Add 方法。
有什么想法吗?
【问题讨论】:
标签: oop design-patterns
它属于 OrganizationController。
组织控制器应管理组织模型的任何创建/更改。用户不应该知道创建组织的方式或内容。如果您赋予他们创建组织的能力,那么您就是在耦合逻辑。您做出此决定是因为您同时拥有用户和组织控制器。
如果您的用户/组织不能真正证明存在的合理性,也就是他们并没有真正控制太多,那么将它们合并为一个。
如果两个班级都存在,我会投票给组织。
【讨论】:
正如您所说,用户可以创建组织,因此除非组织不跟踪所有者(不太可能),否则您应该将 CreateOrganization 方法委托给用户。我能想到的一个基本想法是:
如果(且仅当)您不需要跟踪组织的创建者,那么直接在组织上放置 Add 方法而不需要其他任何东西的想法看起来不错。
希望我能帮上忙! 大卫
【讨论】: