【问题标题】:Extending properties of common library公共库的扩展属性
【发布时间】:2012-09-03 06:45:17
【问题描述】:

我们正在为不同的客户开发产品(ASP.NET 解决方案),该解决方案由 3 个 VS 项目组成,业务实体、业务服务和 Web。 每个客户可能需要一些定制,所以我们需要对这 3 个项目进行一些更改。

业务实体项目包含仅具有属性的类,业务服务包含仅具有方法的类,这些方法使用业务实体类。

我的问题是我不想为每个客户复制这两个项目(实体、服务),因为它们的代码几乎相同。

我想过将实体和服务作为通用库,并在每个新的解决方案中引用它们,如果客户需要一些定制,我可以扩展这两个库。

扩展方法帮助我扩展“业务服务”类,但对于“业务实体”类,我找不到扩展其属性的好解决方案,.NET 中没有扩展属性。

我想过做部分类,但我不知道这是否是一个好习惯。

谁有更好的解决方案?

【问题讨论】:

    标签: c# asp.net design-patterns extension-methods


    【解决方案1】:

    如果您将属性设置为“虚拟”,则可以根据客户需求覆盖它们。这样你就不必走上制作部分类的路了。

    这里是link 的关于使事物成为“虚拟”的信息

    【讨论】:

      猜你喜欢
      • 2014-01-26
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多