作爲信息系統最關鍵的部分,model這個商業對象需要實現以下功能:
1.通過數據庫訪問接口(即efframework的DBHelper)實現數據持久化(即保存到DBMS中)
2. 從數據庫從提取某個商業對象的持久化數據並映射到商業對象實例。
3.實現商業邏輯,例如保存前的數據校驗,其他model的關聯更新等
在delphi完全面向對象的設計裏,我們可以很容易的實現以上邏輯。
在面向業務層面,model需要提供以下幾個操作接口:
1.提供公共屬性對應用戶輸入欄位,這些欄位與DBMS中的table對應
2.提供一個save方法以相應用戶的信息更新請求,如果更新失敗則彈出錯誤
3.提供一個select方法,供調用者做model相關的查詢。
model這部分的設計可以參考java的持久化框架,其中比較優秀的代表作是Hibernate。我在本框架中不打算耗費極大精力去做這個持久化框架。因爲我設計這個框架的目的是爲設計信息系統提供一個開發框架,如果有朋友已經實作了這樣的框架並打算或者已經開源,也可以通知我,我參考下看看如何整合到efframework中來。在本框架中model部分目前只做了極度輕量化的實現,僅僅能與數據庫做數據交換,框架沒有提供自動model定義與數據庫結構同步的實現,這就需要本框架的使用者自己維護model與數據表的同步變更。