【发布时间】:2012-09-03 06:45:17
【问题描述】:
我们正在为不同的客户开发产品(ASP.NET 解决方案),该解决方案由 3 个 VS 项目组成,业务实体、业务服务和 Web。 每个客户可能需要一些定制,所以我们需要对这 3 个项目进行一些更改。
业务实体项目包含仅具有属性的类,业务服务包含仅具有方法的类,这些方法使用业务实体类。
我的问题是我不想为每个客户复制这两个项目(实体、服务),因为它们的代码几乎相同。
我想过将实体和服务作为通用库,并在每个新的解决方案中引用它们,如果客户需要一些定制,我可以扩展这两个库。
扩展方法帮助我扩展“业务服务”类,但对于“业务实体”类,我找不到扩展其属性的好解决方案,.NET 中没有扩展属性。
我想过做部分类,但我不知道这是否是一个好习惯。
谁有更好的解决方案?
【问题讨论】:
标签: c# asp.net design-patterns extension-methods