經由透視WebMVC的作者Jace親自講解,讓我稍微了解到什麼是MVC架構。透過一個簡單的留言版程式的範例解構,重新建立一個符合MVC架構的留言版程式。
依照過去一般留言版程式的撰寫模式,先將其分為二個部分:一個是業務邏輯、表現邏輯。業務邏輯(business)是指PHP控制與執行的部分;表現邏輯(present)則是指單純HTML或XML輸出呈現的部分。一但程式分為此二部分,表現邏輯就相當於View的部分;之後再將業務邏輯分成Model與Controller。
Model在留言版程式中所代表的角色,就有點像是「取得資料」這一部分;不論取得資料的方式是經由文字檔或是資料庫的連結讀出寫入,這一塊在MVC的架構中就相當於Model的部分。所以在範例的留言版程式中,Guestbook.php扮演的角色是用來與資料來源溝通的管道。
Controller在留言版程式中所代表的角色,就比較像是「操縱動作」這一部分;從留言版程式的功能面來說,分為選擇頁面(首頁/新增頁/RSS的XML頁面)、新增資料時取得的變數與重新導向。如果說Guestbook.php是與資料來源溝通的管道,Actions.php就像是觸發事件,以及運用Guestbook.php去產生動作的角色;當然最後所呈現的結果是View。所以Controller可以說是串聯Model與View的重要橋樑。
其後又提到一些物件導向的觀念,因為我這方面實在是很弱;所以整個聽下來有些吃力。在我粗淺的理解後導出的一個見解是:利用抽象化後繼承父類別的子類別,可以減少使用判斷式,以及更動到原有程式碼的機會。大概是這樣的意思吧?(抓頭)關於物件導向,Jace建議我看《深入淺出 Java 程式設計 第二版》這本書,我想我得好好花時間研究一下囉!
- Apr 15 Tue 2008 11:40
[新知] MVC的觀念
close
文章標籤
全站熱搜
留言列表
發表留言