我是否应该为输入和输出设置单独的对象,此模式是否具有名称?

时间:2011-04-14 16:14:02

标签: c# java .net sql design-patterns

我正在寻找这种模式的名称,并了解这种设计的原因。

我有:

  1. 输入数据(来自数据库):被放入 对象,包含数据 对应一个表行和 它的对象也是外来的 键。数据可能来自DB或 从单位代码生成 测试

  2. 分析
  3. 计算器, 处理和修改此数据。一世 希望输入数据保持在外部 到这个计算器能够 用生成的数据进行单元测试 来自代码或来自XML 文件而不是数据库。

  4. 结果数据:然后我需要更新 我的数据库,但也是那些结果 可用于验证 单位情况下的预期结果 测试

  5. 这是关注模式分离吗?这里是否涉及其他已知模式?

    我的结果对象(包含结果数据)是否与输入数据位于同一对象中,并且在开始时为null,然后在处理后更新,或者结果对象是否应完全独立于输入对象,为什么请。< / p>

3 个答案:

答案 0 :(得分:1)

您的列表中有许多不同的东西,它们似乎专门用作单个模式的一部分。你描述的基石似乎是Repository模式。

答案 1 :(得分:1)

在高级别,我会将其称为“ETL”,“提取,转换和加载”。这个术语在BI上下文中更常用,但在概念上它完全相同。

答案 2 :(得分:1)

我建议您的输出对象完全独立于输入对象。否则,您的输入对象必须“知道”输出对象。这似乎是不合理的,因为每次更改输出对象时,您都可以通过扩展更改输入对象。或许你想要多个不同的输出对象。然后输入对象需要知道所有输出对象,或者你需要一个非类型化的引用(即.NET中的object)。

输入对象正好是:它表示从数据存储或其他任何方面接收的数据。输入数据通过一些转换来创建某种输出对象,这可能与输入对象的关系很小。

简而言之,输入对象没有充分的理由知道输出对象。实际上,输入对象甚至不应该担心输出对象存在。为输入对象提供知识将导致不必要的耦合,这将使将来修改代码变得更加困难。