mvc架構與設計模式
mvc架構是乙個複雜的架構,其實現也顯得非常複雜。但是,我們已經總結出了很多可靠的設計模式,多種設計模式結合在一起,使mvc架構的實現變得相對簡單易行。views可以看作一棵樹,顯然可以用composite pattern來實現。views和models之間的關係可以用observer pattern體現。controller控制views的顯示,可以用strategy pattern實現。model通常是乙個調停者,可採用mediator pattern來實現。
設計思想
把乙個應用的輸入、處理、輸出流程按照model、view、controller的方式進行分離,這樣乙個應用被分成三個層——模型層、檢視層、控制層。
檢視(view)代表使用者互動介面,乙個應用可能有很多不同的檢視,mvc設計模式對於檢視的處理僅限於檢視上資料的採集和處理,以及使用者的請求,而不包括在檢視上的業務流程的處理。業務流程的處理交予模型(model)處理。比如乙個訂單的檢視只接受來自模型的資料並顯示給使用者,以及將使用者介面的輸入資料和請求傳遞給控制和模型。
模型(model):就是業務流程/狀 態的處理以及業務規則的制定。業務流程的處理過程對其它層來說是黑箱操作,模型接受檢視請求的資料,並返回最終的處理結果。業務模型還有乙個很重要的模型 那就是資料模型。資料模型主要指實體物件的資料儲存(持續化)。比如將一張訂單儲存到資料庫,從資料庫獲取訂單。我們可以將這個模型單獨列出,所有有關數 據庫的操作只限制在該模型中。
控制(controller)可以理解為從使用者接收請求, 將模型與檢視匹配在一起,共同完成使用者的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是乙個分發器,選擇什麼樣的模型,選擇什麼樣的檢視,可以完成什麼樣的使用者請求。控制層並不做任何的資料處理。例如,使用者點選乙個連線,控制層接受請求後, 並 不處理業務資訊,它只把使用者的資訊傳遞給模型,告訴模型做什麼,選擇符合要求的檢視返回給使用者。因此,乙個模型可能對應多個檢視,乙個檢視可能對應多個模 型。 模型、檢視與控制器的分離,使得乙個模型可以具有多個顯示檢視。如果使用者通過某個檢視的控制器改變了模型的資料,所有其它依賴於這些資料的檢視都 應反映到這些變化。因此,無論何時發生了何種資料變化,控制器都會將變化通知所有的檢視,導致顯示的更新。這實際上是一種模型的變化-傳播機制。
c mysql三層架構例項 三層架構例項
一 概要 這篇部落格,準備用乙個小demo來介紹應該實現三層架構。三層架構只是分層的一種經典形式,到底分幾層,要依具體情況而定,考慮到系統的複雜程度,和後期的可維護性,完全可以分四層,五層,甚至六層,七層。二 demo 1 實現語言 vb.net 2 需求 學校機房收費系統 中的乙個功能 操作員為學...
軟體架構 三層架構
三層系統的分層式結構 三層架構 3 tier architecture 通常意義上的三層架構就是將整個業務應用劃分為 區分層次的目的即為了 高內聚,低耦合 的思想。表現層 ui 通俗講就是展現給使用者的介面,即使用者在使用乙個系統的時候他的所見所得。業務邏輯層 bll 針對具體問題的操作,也可以說是...
三層架構 UI BLL DAL
通常意義上的三層架構就是將整個業務應用劃分為 表現層 ui 業務邏輯層 bll 資料訪問層 dal 區分層次的目的即為了 高內聚,低耦合 的思想。表現層 ui 通俗講就是展現給使用者的介面,即使用者在使用乙個系統的時候他的所見所得。業務邏輯層 bll 針對具體問題的操作,也可以說是對資料層的操作,對...