Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我应该为输入和输出分别设置对象吗?这个模式有名字吗?_C#_Java_.net_Sql_Design Patterns - Fatal编程技术网

C# 我应该为输入和输出分别设置对象吗?这个模式有名字吗?

C# 我应该为输入和输出分别设置对象吗?这个模式有名字吗?,c#,java,.net,sql,design-patterns,C#,Java,.net,Sql,Design Patterns,我正在寻找这种模式的名称,并了解这种设计的原因 我有: 输入数据(来自数据库):放入 对象,包含数据 对应于表中的行和 它的对象也是外来的 钥匙。数据可能来自数据库或数据库 从单元的代码生成 测试 计算器:用于分析, 处理和修改此数据。我 希望输入数据保持在外部 到这个计算器可以 使用生成的数据对其进行单元测试 来自代码还是来自和XML 文件而不是数据库 结果数据:然后我需要更新 我的数据库,还有那些结果 可用于根据 就单位而言的预期结果 测试 这是关注点分离模式吗?这里还有其他已知的模式吗 我

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

我有:

  • 输入数据(来自数据库):放入 对象,包含数据 对应于表中的行和 它的对象也是外来的 钥匙。数据可能来自数据库或数据库 从单元的代码生成 测试

  • 计算器:用于分析, 处理和修改此数据。我 希望输入数据保持在外部 到这个计算器可以 使用生成的数据对其进行单元测试 来自代码还是来自和XML 文件而不是数据库

  • 结果数据:然后我需要更新 我的数据库,还有那些结果 可用于根据 就单位而言的预期结果 测试

  • 这是关注点分离模式吗?这里还有其他已知的模式吗


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

    在你的列表中有许多不同的东西,它们似乎是单一模式的一部分。不过,您描述的基础似乎是存储库模式

    您的列表中有许多不同的内容,它们似乎是一个单一模式的一部分。不过,您描述的基础似乎是存储库模式

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

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

    我建议输出对象完全独立于输入对象。否则,输入对象必须“知道”输出对象。这似乎不合理,因为无论何时更改输出对象,都会扩展为更改输入对象。或者,您可能需要多个不同的输出对象。然后输入对象需要知道所有输出对象,或者您需要转换一个非类型化引用(即.NET中的
    object

    输入对象正是这样的:它表示从数据存储或其他地方接收的数据。输入数据通过某种转换来创建某种类型的输出对象,这种输出对象可能与输入对象关系不大


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

    我建议输出对象完全独立于输入对象。否则,输入对象必须“知道”输出对象。这似乎不合理,因为无论何时更改输出对象,都会扩展为更改输入对象。或者,您可能需要多个不同的输出对象。然后输入对象需要知道所有输出对象,或者您需要转换一个非类型化引用(即.NET中的
    object

    输入对象正是这样的:它表示从数据存储或其他地方接收的数据。输入数据通过某种转换来创建某种类型的输出对象,这种输出对象可能与输入对象关系不大


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

    FYI。。。关注点分离是一个设计原则,而不是一个模式本身。。。关注点分离是一种设计原则,而不是模式本身。