三層這個階段的學習主要是靠自學,但從網上找到的相關資料、部落格都是零散的,沒有體系。資料看了不少,但一直沒有乙個大概的輪廓。查到的資料都是理論性的,那如何在詳細的樣例中實現分層呢?導圖之後就是詳細的小樣例。
以初識三層中登入的小樣例為例,來看看分層的詳細應用吧。
主要步驟:使用者在登入介面輸入username和password,並進行登入。若登入成功,彈出登入成功提示框,並新增�對應的積分。若不成功,丟擲登入失敗。
1、u層:表現層,使用者輸入資料和指令,並終於顯示出資訊。
介面
namespace loginui
//輸入username與password,單擊登入按鈕
private void button1_click(object sender, eventargs e)}}
2、b層:業務邏輯層,處理與業務相關的邏輯,把從u層傳來的username和password經過處理,傳到d層作對應的資料處理。
namespace login.bll
else}}
}
3、d層:資料訪問層,執行與資料來源相關的操作。在這裡,包含dbutil, scoredao,userdao。
dbutil負責開啟資料庫,訪問資料庫。
namespace login.dal
}
userdao用來推斷該username是否存在,password是否正確。
namespace login.dal
user.id = reader.getint32(0); //字元轉義
user.username = reader.getstring(1);
user.password = reader.getstring(2);// not suggestion
if (!reader.isdbnull(3))
}return user;}}
}}
scoredao負責當使用者登入成功後,更新資料庫中的積分。
namespace login.dal}}
}
4、實體類
namespace login.model
public string username
public string password
public string email }}
這樣,各層分工明白,職責清晰。既有利於合作開發,也大大減少了維護的成本和維護的時間。與我們第一次機房收費系統的登入介面相比,分層之後的登入介面就顯得效果好多了。可是
分層不是分的越多越好,過多的分層限制了開發者與客戶對系統的理解能力,限制了客戶與開發者的交流。分層越多的話,可靠性有時也是不穩定; 專案開發中實在是要詳細分析,盲目套用耦合不降反公升,效率不高反低,維護不便反繁。
分層不是目的,是軟體發展的產物和畢竟之路。層化是把軟體橫向切了幾刀,模組化是把軟體縱向切了幾刀。我們要靈活使用分層,更好的為我們服務。
6 1 應用分層
1.推薦 圖 6 1 中預設上層依賴於下層,箭頭關係表示可直接依賴,如 開發介面層可以依賴於 web 層,也可以直接依賴於 service 層,以此類推。圖 6 1 層級依賴關係 開放介面層 可直接封裝 service 方法暴露成 rpc 介面 通過 web 封裝成 http 介面 進行閘道器安全控...
企業應用架構 分層
1 企業應用的特點是什麼?在我的概念裡,企業應用是與網際網路應用相對而言的,企業應用一般都是內網環境,網路的頻寬不用考慮,因此由於頻寬引起的效能一般可以不用考慮。資料量不大,但是資料很雜,資料與資料之間的關係很複雜。另外業務邏輯也沒有網際網路應用那麼簡單,一般也是很雜,很 2 企業應用在架構上需要考...
編碼規約之應用分層
目錄 一 推薦 1.分層規約 二 參考 1.分層異常處理規約 2.分層領域模型規約 下圖中預設上層依賴於下層,箭頭關係表示可直接依賴。如 開放介面層可以依賴於 web 層,也可以直接依賴於 service 層,依此類推 開放介面層 可直接封裝 service 方法暴露成 rpc 介面 通過 web ...