2012年1月24日

What is Entity Framework with POCO?

透過 EF 這個 ORM 的資料存取,我們常會看到使用 POCO 的範本來設計,那何謂 POCO 呢?它的全名為: Plain Old CLR Object ,中文我認為可翻成「簡單的資料物件」,故名思義就是這物件只定義屬性(property),而不去定義跟其它物件互動的方法(method)或是事件(event),使得開發人員可專注在商務邏輯的開發與脫離框架的單元測試,它的好處就是簡單且靈活度高,靈活度高意指的是它可擴展成多種用途,像是以下的這些情境:
  • 當我們需要擴展成 Persistent Object (持久層物件,即可將物件的資訊或狀態記錄下來,儲存的方式有 Db、XML等)時,我們只要 Mapping 好資料庫與物件之間的定義並實現 CRUD 方法的接口即可使用。
  • 為 POCO 增加商務邏輯的方法(Ex:驗證密碼、計算價格)之後,就成為 Domain Model。
  • 當 POCO 含有資料綁定的功能,即為 View Data,可讓 UI 作為資料顯示的用途。

結論就是,POCO 相對於 ORM 而言,開發者可將 PO (Persistent Object ) 當作 POCO 來使用,而感覺不到 PO 的存在。


參考資料:
  1.  理解POCO
  2. [VS2010] ADO.NET Entity Framework 新功能:永續儲存無知物件 (Persistence-Ignorant Object) Overview 







沒有留言:

張貼留言