從MVC講到多層架構

來源:互聯網
上載者:User

        最近瀏覽技術論壇時,偶爾遇到幾篇討論MVC以及時下比較流行的PO、VO話題的貼子。(http://forum.javaeye.com/viewtopic.php?t=627) 看到大家這樣踴躍的發言我也想湊湊熱鬧。可惜,這個論壇註冊後過10天才能發言... 那就到這裡來寫吧。。。

        我發現,這些貼子都是討論VO 是 M 還是 V 的東西。其實,我覺得沒有必要這樣。MVC這個模型理論出現有這樣一個背景。就是當時很多應用,把顯示、資料存放區、模組定義等東西,都混在一個模組(頁面)中,導致這樣的應用難以維護和複用。MVC理論的提出就是為了在,這樣的情況下使開發人員,注意到把應用分解。MVC提出時本身並沒有非常精確的定義。如果你上網尋找,準會得到一堆看似相同又不太一樣的令人抓狂的解釋與定義。不過我還是要在這裡定義一下他在這裡的意思。根據,上面提到的背景,我認為當時提出的MVC。只是把應用簡單的安作用分解開。

        C(Control)控制,表示控制部分(比如session bean ),但是我認為控制並不是只是指某些類。他小到可以指一個if語句,大到可以指一個組件,當然也應該可以指業務控制流程程。
        M(Module)模型、模式,這個是定義最模糊的部分。根據我的理解,因該指業務相關或整體結構。比如,整體的業務結構,某個資料結構,資料字典等。
        V(View)視圖,表示直接顯示給使用者看或者與使用者直接互動的部分。

        MVC提出的初衷很好,可惜的是他的定義過於模糊(也或者是學習者沒有正確理解,比如我:>),不可量化比較。導致,一些號稱是MVC的應用或架構還是有許多缺陷。在我看來,MVC並不是分層概念是他最大致命傷。

        MVC之後,並沒有正式提出跟有效模型概念。但是,我以為開發人員現在所謂的多層應用的概念已經超越了MVC模型的概念,雖然它很大程度上源於MVC模型思想。多層應用的概念,是分層概念,雖然現在也沒有明確的定義,不過它的實現可以量化比較出優劣。量化的尺度就是,層次與層次之間的耦合的緊密度。又,所謂的一個層次對其他層次的是否有“入侵“,以及入侵的程度。。。(待)

    (以上純屬個人愚見)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.