我有幾個對象如下圖所示的UML圖:最佳設計模式實現從同一個接口派生不同的對象轉換
我寫了一個單頁的MVC應用程序,它處理來自同一interfce派生的所有對象並且僅在幾個屬性上有所不同。我的模型是所有可能屬性的覆蓋範圍。
事情是,當我發佈數據到DAL時,我必須使用entites而不是模型。我的控制器和視圖使用模型,但DAL方法期望實體A或實體B.
現在我想設計一個類來製作合適的覆蓋。我可以創建一個具有方法ConvertToA()和ConvertToB()的類並調用此類的方法。這是首先想到的最基本的佈局。
但是有沒有一個合適的設計模式,或者什麼可能是最靈活和有效的方式來完成這項任務?
問候。
好問題,我會嘗試使用AutoMapper首先執行它。它與Model - > ViewModel轉換很好。它的可配置,所以你可以改變屬性映射,什麼不... – SBirthare 2015-02-06 12:39:16
你怎麼知道給定的Model類的實例是EntityA而不是EntityB?在你的例子中,它很簡單,但總的來說可能並不明顯。例如,當實體具有相同的屬性時。 – 2015-02-06 12:44:31