對於三層架構的概念性意義,網路上有很多專文**,若想深入了解,可以自尋解答.本文僅作為一種應用性**,講的更多的是實現的細節.
簡單地講,三層架構是將**按其作用分成三部分,每部分解決自己負責的流程.
從表入深,分別是:
介面層-ui 處理頁面的資料顯示,及使用者體驗
邏輯層-bll 業務功能的實現過程,生成結果,提交給ui
資料層-dal 訪問資料庫,將結果提供給bll
可以想象成乙個做麵包過程,dal負責從容器中取來麵粉+雞蛋+水,bll負責攪和成可用的麵漿並烘烤,ui負責把烤好的麵包包裝好放在貨櫃上等待被買走.
三層架構的功用之處,在於駕馭大型web程式的結構,使之便於管理和擴充套件.
在設計ui的時候,我們不需要關心其中的邏輯和資料問題,只需要空出對應的位置,用於放置資料. 在設計和修改的時候,要解決的只是html的結構,**看起來乾淨利落,做起來也是乾淨利落.
ui直接將程式邏輯的任務丟給bll,bll就開始構建具體的實現細節.bll的建立依賴於業務. 例如乙個文章系統,bll_aticle就表示它是用於對文章的處理的.bll_aticle可以提供給ui乙個文章列表的recordset,顯示在ui的預留位置. 當bll_aticle需要從資料庫中獲取資料的時候,就將任務丟給dal層
dal層專門負責和資料庫打交道,它從bll獲取引數,組織乙個有效的sql,建立資料庫連線,執行sql進行更新或獲取,將返回的資料交給bll.
每一部分的業務都集中於乙個ui-bll-dal的鏈中,上下清晰了然. 至於是怎樣的便於管理和擴充套件,將在後面結合例項進行分析.
複雜的生命形式必有複雜的生存法則,若想在自己的專案中應用好三層架構,需要多用點心體會其中的應用法則.
我對三層架構的理解還不夠深,這些文章能算是拋磚引玉就不錯了.大家在閱讀當中不要侷限於我所構思的法則,要多向具體的應用中去實踐,根據具體情況,尋出自己的法則. 有所感悟,就記得寫下來,這種感悟是進步的契機,但必然不是最終的結果.有了感悟就拿去應用,可以發現它的優劣,繼續完善.
ASP中使用三層架構 1 前言
直奔主題.目前在維護一套大型的asp售後系統 2000多個asp page 是2001年出來的,期間多年未做更新,中參雜多個程式設計師的風格,結構上只是簡單的將main function 集中起來,將複雜的sql集中起來.頁面上相當混亂.沒有簡單地去轉向.net環境,因為這個系統使用得比較頻繁,加上...
c mysql三層架構例項 三層架構例項
一 概要 這篇部落格,準備用乙個小demo來介紹應該實現三層架構。三層架構只是分層的一種經典形式,到底分幾層,要依具體情況而定,考慮到系統的複雜程度,和後期的可維護性,完全可以分四層,五層,甚至六層,七層。二 demo 1 實現語言 vb.net 2 需求 學校機房收費系統 中的乙個功能 操作員為學...
三層架構 之三層擴充套件七層
哎,真心不想在這裡寫這篇部落格,本來三層到七層頂多了也就用兩天時間去分析,結果我用了將近四天,最後我都快崩潰了,還有好多問題都是同學幫我找出來的,真是很是汗顏吶!下面是我三層架構擴充套件成七層架構的uml包圖 之前看別人都是用的vb.net版,我就覺得剛學習了c 語言,就先用c 版吧,結果倒好,兩種...