信息管理系統開發框架設計(五) - MVC框架

MVC是很流行的的一種web開發模式。通過對不同功能的劃分,可以分塊開發,讓前端設計人員專注於界面開發,讓後端開發人員專注於業務對象的開發。爲了將前端界面與後端業務對象解耦,於是引進了控制器來連接前端用戶界面與後端業務對象。

其實這種開發模式也可以運用到CS方案的開發中。讓用戶界面模塊專注於界面的設計,至於對用戶的請求做何種響應處理,那是業務對象乾的事情,控制器負責監聽操作界面的用戶請求並轉發給對應的業務對象,或者將業務對象的數據綁定到用戶操作界面上。

MVC概念:

M:即Model的縮寫,指業務對象,與該業務對象相關的處理都需要封裝進來。

V:即View的縮寫,指用戶交互界面,在Delphi中我們可以簡單的替換爲TForm(TFrame)。

C:即Controller的縮寫,字母意思是控制器,就是控制Model跟View,將從View監聽的用戶請求發送給Model,由Model進行處理然後返回處理結果給View呈現給用戶。

要以MVC模式來做開發,那麼我們就必須在開發框架里加上MVC的基礎架構來支持及簡化後續面向業務模塊的開發工具:

  • 封裝model的基礎功能,與數據庫交互<加載/更新數據,獲取model列表,保存前數據校驗接口>;
  • 視圖的基礎功能(界面風格之類的控制等);
  • 控制器的基礎功能(監聽view裏的用戶請求並做響應,提交用戶輸入給模型做校驗或保存等)。

  ef-framework將MVC的基礎實現整合進來,在開發具體的業務模塊時,只需要簡單的實現業務相關的model,View及Controller,然後向框架註冊Controller即可。

有的系統採用插件模式,由系統啓動時自動發現指定目錄下的插件文件,然後全部加載進來;這種插件管理模式對於面向專業級的軟件是可能的,但是信息系統因爲面向企業內部衆多水平不一的使用者,再加上嚴格的模塊權限控制,插件管理模式就讓用戶端系統的實現變得複雜。

其實換個思路,用戶權限保存在數據庫中,那麼模塊相關的信息放入數據表中,然後在客戶端實現一個model類TModule來管理模塊信息,這樣也很容易實現用戶權限的管理。

我在ef-framework框架採用了bpl的管理模式,運行業務模塊時需要動態加載bpl,在關閉業務模塊的視圖後也需要卸載bpl。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章