MVC本質論

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

自從某年某月某日,某個組織宣稱MVC的出現時(當然在此之前它已經存在了很多年),人們開始關注這個讓人興奮的詞,不多久,它就一躍成爲程設界家喻戶曉的明星,被掛在了衆多初學者、招聘者乃至各種商業機構的嘴上。

記得有人說過,一旦一個東西變成概念,那大衆的眼睛就很容易被迷惑,那在這個萬衆追捧的神奇縮寫背後又隱藏着什麼呢?

MVC是什麼

這種刨根問底的問題很容易讓人一時不知所措,因爲表象的認識往往讓人忽略了看似簡單的答案。當然更會有很多人知道那個流行的答案:MVC就是Model-View-Controller的縮寫,是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。

上面的解釋不假,但它只是MVC表象的定義,而恰恰就是這個表象定義,讓諸多初學者有了對神的敬畏。但是神真的存在嗎?真的那麼讓人生畏嗎?今天就讓我們來找回答案。當然最根本的問題就是:

MVC到底是什麼

這要從我們的計算機系統體系結構說起,不管是我們熟知的馮諾依曼體系還是注重並行的哈佛體系等等其它體系結構,其最根本的任務就是,處理器/程序把數據加工後呈獻給用戶。說到這,聰明的你也許已經知道了,這個最基本的體系纔是我們今天的重點:

MVC實質是人類活動最基本的活動原子。

活動原子

活動原子是一個相對概念,代表了一個完整的處理過程,它在自己的領域內可被劃分爲輸入、輸出及方法三個不可拆分、不可孤立的元素,它是人類活動的最本質表現。

活動原子作爲一個最基本的抽象,它具有遞歸性(即道生原理,詳見道法歸一――BeijingOpenParty November:Attraction From Autumn Wind(秋風引)紀要)。每個活動原子都有一個領域層次,一個領域層次是上層領域的元素,以此類推。一個複雜的活動可以分解爲一個基於遞歸的多領域活動原子(領域遞歸的活動原子)。

我們都知道,計算機是人類創造出來用於能力延伸的,其本質還是人類活動,那麼我們的系統同樣可以被分解爲一個領域遞歸的活動原子。這就是MVC

比如,一個系統從頂層被劃分爲數據層、控制層、視圖層,這是頂層領域的MVC設計(某個組織甚至某類人一直在追捧的其實僅僅是這一個領域),而各層的領域內,又劃分出各自的數據層、控制層、視圖層(例如數據層的數據庫同樣具有文件系統、RDBMSSQL接口),一個系統的架構並不是(也不能)是平板的(即只有頂層的MVC),而是一個領域遞歸的立體系統。

MVC是系統設計的氧氣,是不可或缺的指導思想,拿MVC來說事騙錢的都應該被唾棄。

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