我们正在为不同的客户开发产品(ASP.NET 解决方案),该解决方案由 3 个 VS 项目、业务实体、业务服务和 Web 组成。每个客户可能需要一些定制,所以我们需要对这 3 个项目进行一些更改。
业务实体项目仅包含具有属性的类,业务服务仅包含具有方法的类,这些方法使用业务实体类。
我的问题是我不想为每个客户复制这两个项目(实体、服务),因为它们将具有几乎相同的代码。
我考虑将实体和服务作为公共库,并在每个新解决方案中引用它们,如果客户需要一些定制,我可以扩展这两个库。
扩展方法帮助我扩展“业务服务”类,但对于“业务实体”类,我找不到扩展其属性的良好解决方案,.NET 中没有扩展属性。
我想过做部分课程,但我不知道这是否是一个好习惯。
有没有人有更好的解决方案?