2009-03-09

MVC的小體驗

MVC
最近寫了一支小程式,為了專案上的便利性
必須同時要完成使用者該做的事項
有點像是使用者初始化的小功能
(當使用者使用我們系統時,就先幫他處理完該做的事項)

當時有點小時間,所以想嘗試看看MVC這個design pattern
因為需求並不多,只需要簡單做一些事情即可
設計的概念是這樣。。
View部分完全單純處理顯示資料進度與結果
所有的動作都集中在Model裡背景執行
Controller部分則利用Event來傳遞顯示的事件、觸發事件

當時我並未考慮太多,所以所有的動作都集中在Model
(同一個Class裡)

 image
但需求是會不斷變更的,結果剛開始幾個需求變更
我都還能輕鬆應付,因為只要變更Model
而View只要負責顯示就好。。。
接下來的功能需求,真的把我搞的快瘋掉

我不該將所有的功能都集中在一個Class裡設計
每個物件都應該有他自己的功能
即使只是一個小小的功能,他也應該是要分開出來
[集中]-只會讓我更難去維護

所以我花了一些時間
將原本的Model分開了許多小部份
 
image

將Model分開之後,原本複雜的Model
變的更簡潔易懂,也更容易進行維護
寫下小小心得,紀錄這件事情!

參考資料:
Topic: JSP 架構介紹 - Model1 , Model2 , and Model2x
The Model-View-Controller Design Pattern
Building Graphical User Interfaces
MVC#
Model-View-Controller Pattern

沒有留言:

張貼留言