可用Delphi實做MVC範例嗎? |
答題得分者是:sryang
|
rachex2000
一般會員 發表:21 回覆:32 積分:20 註冊:2003-04-28 發送簡訊給我 |
最近在看design pattern方面的書,但是很多地方看得一頭霧水,不能體會,例如MVC架構用Delphi到底要如何實做?似乎沒
有書講得清楚,書上總是強調要將UI與商業邏輯分開,但是怎麼樣才能分開也沒說請楚?我總是無法完全分開,甚至懷疑起分開的定義是什麼, 想請各位先進,若有人有Delphi寫成的MVC範例,可否提供,或是指引我到何處尋找? 另外,由於我大多寫的是資料庫方面的程式,因此常考慮要如何寫最符合OO的精神,但是光考慮Query1, Datasource1是要放在哪裡(Form或DataModule)都想了很久,雖然書上大多說要放到DataModule裡,但這樣真的比較好嗎?有時會懷疑,是否Delphi的設計上有違背MVC的精神的?平常用的資料庫是關聯式的,是否就使程式很難做到符合OO的精神?這些問題,希望大家說說個人的看法. 編輯記錄
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
要一口氣跳到 MVC 這一步太大了,我的建議是先走一小步,感受一下物件的好處
試想,假如把 TQuery 跟 TDatasource 放到 Form 上,裡面寫著新增/修改/刪除/查詢用的 SQL 敘述 假如這一個 TABLE 有 10 個 Form 會使用到,那麼這些 SQL 敘述是不是在這 10 個 From 中都有? 當這個 TABLE 要修改資料表架構時,漏改了一個就好看了! 用這種方法撰寫出來的系統,真的就像「要你命三千」了 假如把這些 TQuery 以及 SQL 都集中到一個 DataModule 中,只要跟這個 TABLE 有關的 Form 都 呼叫這個 DataModule 來做事 (新增/修改/刪除/查詢) 是不是維護起來比較方便,Form 裡面的程式 也簡潔多了? 當然,這個 DataModule 提供的功能 (也就是方法啦) 必須依照實際的狀況加以設計。 例如一個庫存用的 DataModule 可能有這些功能: 1. 新增庫存資料 2. 修改庫存資料 3. 查詢庫存資料 4. 增減庫存量 5. 盤點 6. 調撥 7. 報廢 再來,資料與畫面的連結,當然還是得依靠 TDataSource 來做。 所以 TDataSource 也可以放在 DataModule 裡面,Form 只要 uses DataModule 就可以取用當中的資源 以及要求 DataModule 做事 建議實做看看,你會得到很多的經驗與感受的
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
編輯記錄
sryang 重新編輯於 2007-09-16 01:34:08, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |