我有一些带有加载、保存、更新数据方法的数据对象。然后我有用于更复杂操作此数据的对象,为此它们需要从数据对象中获取详细信息。
因此,我开始为数据对象添加方法以回答操纵对象需要了解的特定问题。操纵对象仅具有严格与操作或某些功能相关的方法,而有关数据对象的信息则由其进行详细说明。操纵对象提问,被操纵对象回答。这是我最初想象的方式。然后我意识到它们也可以成为操纵对象或扩展方法的方法。
我感觉数据对象开始有太多与特定功能相关的方法,而且还有更多要来。由于这些功能主要由操纵对象管理,因此它们可以在它们之间移动和分配。问题是其中一些方法被不同的操纵对象使用,而操纵对象已经充满了与操作特定相关的方法。因此,另一个选项是将它们实现为静态扩展方法,并将它们放置在执行此类工作的命名空间中(因此它们仅在工作区域中可见,但如果需要,其他对象可以调用它们)。
问题是应该把这些方法放在哪里:
- 给出从数据对象信息中详细说明的公共信息,没有任何操作。 - 仅供一个或多个其他对象使用的特定功能(主要是操作,但也包括查询和演示)。 - (有些使用辅助业务对象,有些仅依赖于数据对象并且不需要其他内容)
它们应该属于:
- 数据对象 - 操纵对象 - 业务命名空间中的静态辅助类?
我想答案很大程度上取决于我们所讨论的方法,应用程序的设计等等。因此,我了解到具体建议可能很难给出,但我会感激任何有助于我在这种和其他情况下做出决策的提示。
简而言之: 选择将方法放在哪里的标准是什么,或者说我应该问自己哪些问题?
因此,我开始为数据对象添加方法以回答操纵对象需要了解的特定问题。操纵对象仅具有严格与操作或某些功能相关的方法,而有关数据对象的信息则由其进行详细说明。操纵对象提问,被操纵对象回答。这是我最初想象的方式。然后我意识到它们也可以成为操纵对象或扩展方法的方法。
我感觉数据对象开始有太多与特定功能相关的方法,而且还有更多要来。由于这些功能主要由操纵对象管理,因此它们可以在它们之间移动和分配。问题是其中一些方法被不同的操纵对象使用,而操纵对象已经充满了与操作特定相关的方法。因此,另一个选项是将它们实现为静态扩展方法,并将它们放置在执行此类工作的命名空间中(因此它们仅在工作区域中可见,但如果需要,其他对象可以调用它们)。
问题是应该把这些方法放在哪里:
- 给出从数据对象信息中详细说明的公共信息,没有任何操作。 - 仅供一个或多个其他对象使用的特定功能(主要是操作,但也包括查询和演示)。 - (有些使用辅助业务对象,有些仅依赖于数据对象并且不需要其他内容)
它们应该属于:
- 数据对象 - 操纵对象 - 业务命名空间中的静态辅助类?
我想答案很大程度上取决于我们所讨论的方法,应用程序的设计等等。因此,我了解到具体建议可能很难给出,但我会感激任何有助于我在这种和其他情况下做出决策的提示。
简而言之: 选择将方法放在哪里的标准是什么,或者说我应该问自己哪些问题?