0

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

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

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

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

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

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

有没有人有更好的解决方案?

4

1 回答 1

1

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

这是有关使事物成为“虚拟”的信息的链接

于 2012-09-10T11:53:00.053 回答