2011-02-10 55 views
2

所以我開始考慮使用與POCO的EF和傳送DTO通過線路到我的WCF的客戶端。EF POCO DTO WCF Adapter模式

看起來這是一個很好的架構設計,可以使用DTO而不是將POCO發送到客戶端。

所以我在閱讀它和很多時間,它提到使用Adapter模式將POCO轉換爲DTO。

我似乎無法找到任何描述用於POCO => DTO的適配器模式的文章。

有人能擺脫關於這一點光?

回答

3

Adapter是具有確切含義的GoW模式。你不需要特別的文章閱讀關於在POCO和DTO之上使用它(它與其他類相同)。但我認爲你實際上不想要一個真正的適配器。你想要將POCO轉換成DTO,反之亦然。許多開發人員正在使用名爲AutoMapper的非常好的庫。我通常不使用適配器或AutoMapper。相反,我的DTO的有一個叫ToPocoFromPoco靜態方法 - 這是愚蠢的,它更書面方式,但每個人都理解這一點。

+0

我想知道如何使用適配器模式使用它。去這個http://www.dofactory.com/Patterns/PatternAdapter.aspx我想這樣的目標是DTO ...所以我創建一個適配器來包裝我的POCO? ... – pdiddy 2011-02-11 01:22:12

1

這個post談論兩者的純度。

但是,至於將它們從一個轉換到另一個,過去我使用過擴展方法。

所以POCO之前被髮送過線,我有這樣的事情。

accountPoco.toDTO() 

它將它轉換成一個WCF datacontract obj,序列化並通過線路發送。

在另一邊我有

accountDto.toPOCO() 

其中將其轉換回POCO。

這不是最優雅的,但它的作品。