【问题标题】:Configurable code logic in C#C# 中可配置的代码逻辑
【发布时间】:2013-05-07 07:34:41
【问题描述】:

我有一个 xml 数据,其中存在这样的节点

<segment>
<country>US</country>
<prop>Supplier</prop>       
</segment>

场景是我的业务实体与此 XML 强绑定。 现在我们必须重新架构系统以使其更具可扩展性。 xml中的节点名称将来可能会更改。

<prop>Supplier</prop>

可能会改为

<name>Supplier</name>

那么如何编写一个动态的C#代码来支持这个特性呢?

【问题讨论】:

  • 好吧,对象序列化不应该依赖于名称。只需对对象进行反序列化/序列化,其余的应该都可以处理(也就是在你的类中重命名它,其余的由框架完成)

标签: c# dynamic business-logic


【解决方案1】:

您可以将版本或解析引擎添加到您的 xml,使其看起来像这样:

<root>
  <parseEngine type="version2" />
  <!-- Rest of xml -->
</root>

而在 C# 中,您首先读取此节点,然后选择解析方法。

【讨论】:

    【解决方案2】:

    我终于编写了代码来使用 XML 配置获取数据。

    <Properties>
    <NodeName>prop<NodeName>
    </Properties>
    

    所以现在我将读取此配置并使用配置中的节点名称从 XML 中获取数据。通过这种方式我可以动态处理我的数据。

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多