我正在寻找这种模式的名称并了解这种设计的原因。
我有:
输入数据(来自数据库):放入 对象,包含数据 对应于表行和 还有它的外国物体 键。数据可以来自数据库或 从单元代码生成 测试。
计算器:分析, 处理并修改这些数据。我 希望输入数据保留在外部 到这个计算器能够 使用生成的数据对其进行单元测试 来自代码或来自 XML 文件而不是数据库。
结果数据:然后我需要更新 我的数据库,还有那些结果 可以用来验证 单位情况下的预期结果 测试。
这是一个关注点分离模式吗?这里还涉及其他已知模式吗?
包含结果数据的结果对象是否应该与输入数据位于同一对象中,并且在开始时为 null,然后在处理后更新,或者结果对象应该完全独立于输入对象,为什么?
最佳答案
我建议您的输出对象完全独立于输入对象。否则,您的输入对象必须“了解”输出对象。这似乎不合理,因为每当您更改输出对象时,您都会更改输入对象。或者您可能想要多个不同的输出对象。然后输入对象需要了解所有输出对象,或者您有一个需要转换的非类型化引用(即 .NET 中的 object
)。
输入对象正是这样的:它表示从数据存储或其他地方接收到的数据。输入数据通过某种转换来创建某种输出对象,该对象可能与输入对象关系不大。
简而言之,输入对象没有充分的理由了解输出对象。事实上,输入对象甚至不应该关心输出对象是否存在。向输入对象提供这些信息将导致不必要的耦合,这将使将来修改代码变得更加困难。
关于c# - 我应该有单独的输入和输出对象吗?这个模式有名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5666253/