為什麼分層?**復用,維護方便(不用牽一髮而動全身)
在bll層傳呼叫儲存過程(傳儲存過程名),還是在bll中寫sql**?
1)
更好的維護和可讀性。
它集中在乙個地方,能夠使三層架構的實現更加簡單(儲存過程將組成資料層)
部署到客戶時,要修改邏輯只需修改儲存過程,無需重新編譯bll元件。除非增加儲存過程應用到程式中
更改資料庫時,比如換成oracle,mysql。只需重建所有儲存過程,無需重新編譯bll元件。
可讀性:如果生寫sql**在bll中,那麼c#**與sql**混雜在一起,修改起來很難定位,容易出錯
2)更好的效能。因為sqlserver在它第一次執行時就生成並快取了儲存過程的執行計畫。
3)安全。sqlserver可以為每乙個儲存過程設定不同的安全許可;而在c#**中建立的sql查詢,更容易受到sql注入攻擊
不使用三層,在表現層中直接嵌入sql**?
根本沒有**復用,修改起來牽一髮而動全身,重複n次一樣的sql語句
而三層:重用,可維護,移植,架構清晰,方便了分工合作
所以,應該嚴格的使用三層,並在bll全部呼叫儲存過程,而不是生寫sql**
為什麼要在專案中應用三層架構?
區分層次的目的即為了 高內聚,低耦合 的思想。優點 1 開發人員可以只關注整個結構中的其中某一層 2 可以很容易的用新的實現來替換原有層次的實現 3 可以降低層與層之間的依賴 4 有利於標準化 5 利於各層邏輯的復用。缺點 1 降低了系統的效能。這是不言而喻的。如果不採用分層式結構,很多業務可以直接...
什麼是三層構架
表現層 ui 通俗講就是展現給使用者的介面,即使用者在使用乙個系統的時候他的所見所得。業務邏輯層 bll 針對具體問題的操作,也可以說是對資料層的操作,對資料業務邏輯處理。資料訪問層 dal 該層所做事務直接運算元據庫,針對資料的增 刪 改 查。概述 在軟體體系架構設計中,分層式結構是最常見,也是最...
什麼是三層架構?
三層架構 3 tier architecture 通常意義上的三層架構就是將整個業務應用劃分為 表現層 ui 業務邏輯層 bll 資料訪問層 dal 區分層次的目的即為了 高內聚,低耦合 的思想。1 表現層 uil 通俗講就是展現給使用者的介面,即使用者在使用乙個 系統的時候他的所見所得。2 業務邏...