2012-09-10 23 views
0

我們正在爲不同客戶開發產品(ASP.NET解決方案),該解決方案由3個VS項目,業務實體,業務服務和Web組成。 每個客戶可能都需要一些定製,所以我們需要對這三個項目進行一些更改。擴展共用庫的屬性

業務實體項目包含僅具有屬性的類,業務服務包含僅具有方法的類,這些方法使用業務實體類。

我的問題是,我不想重複這兩個項目(實體,服務)爲每個客戶,因爲他們將有幾乎相同的代碼。

我曾想過將實體和服務作爲通用庫,並在每個新解決方案中引用它們,如果客戶需要一些定製,我可以擴展這兩個庫。

擴展方法幫助我擴展'Business Services'類,但對於'Business Entities'類,我無法找到擴展其屬性的好解決方案,.NET中沒有擴展屬性。

我曾考慮過製作部分課程,但我不知道這是否是一種好的做法。

有沒有人有更好的解決方案?

回答

1

如果你讓你的屬性爲「虛擬」,那麼你可以根據客戶的需求來覆蓋它們。這樣你就不必走上部分課堂的路。

這裏的link的信息,使事情變得「虛擬」