所以我會嘗試在這一個上扮演魔鬼的擁護者......最佳解決方案:擴展方法還是新類?
假設有一個框架可以爲2或3個不同的網站提供服務。框架的基本功能是處理對某個DB的所有調用。在進行數據庫調用時,網站會調用一個Framework DataSource對象並獲取一個通用的Framework數據對象。
現在,網站檢索特定於其需求的屬性/方法,我們有2個解決方案選項。
創建一個新的類,延伸或包裹所述通用數據對象, 暴露更多域友好性質&保持該新類的內部的任何域 特定功能。
而不是創建一個新的類,在框架內創建擴展方法來服務每個這些網站。因此,框架內包含的所有內容均爲 ,如果需要1天,可在網站 之間共享。
只是在此澄清會的例子: 屬性:
- NewObject.GetSiteSpecificProperty
- GenericObject.GetProperty( 「GetSiteSpecificProperty」)或GenericObject.GetSiteSpecificProperty()
方法
- NewObject.DoSomethingSpecificToThisWebsite()
- GenericObject.DoSomethingSpecificToThisWebsite()
所以,你會選擇什麼樣的解決方案呢? 1或2?
乾杯。
您可以共享,而無需使用擴展方法的方法,推動共享的東西變成了一個框架一個基類。 – Joey
你錯過了我要問的點,或者我沒有澄清我的問題。我不是問如何在網站之間共享信息,我的問題是什麼是針對此問題的最佳設計解決方案。 1或2?爲什麼? –
好的,我只是指出擴展方法不是您在網站之間共享方法的唯一選擇,所以功能共享不應該作出決定。 FWIW我會選擇1,因爲它在使用它的地方保留了特定的功能。將可能需要共享的任何功能放入基類包裝類中。 – Joey