說起軟件系統的層次結構眾說紛纭不過許多人都認為傳統的C/S結構是兩層結構——數據庫服務器是一層客戶端應用程序是一層從這一點來說B/S結構可認為是三層結構——數據庫服務器層WEB應用服務器層和客戶端浏覽器一層
但由於B/S結構的應用開發者主要精力都集中在WEB應用服務器層因此對這一層又進行了劃分在Duwamish 中提供了SystemFrameworkCommonDataAccessBusinessRulesBusinessFacade和web六個項目每個項目都可認為是一層但現在更流行的劃分是三層數據訪問層(Data Access Layer)商務邏輯層(Business Logic Layer)和表現層(Representation Layer)數據訪問層直接訪問和操作數據庫商務邏輯層調用數據訪問層表現層調用商務邏輯層
表現層有的也叫用戶接口層(User Interface Layer)意思是與用戶直接進行交互的在B/S開發中表現層也有人叫做web層的
在Net PetShop 中有二十個左右的項目這些項目有些直接是以層次的名稱命名的例如BLL有些是以層次的名稱作為後綴來命名的如SQLProfileDALSQLServerDALOracleProfileDAL和OracleDAL等有些項目包含了一些接口以I為前綴有些項目使用工廠模式以Factory為後綴不過總體上還可以將其劃分為三層結構
比較Duwamish與PetShop 後者項目眾多但使用工具生成的代碼很少而Duwamish中的Common和DataAccess中的文件主要都是使用代碼生成器產生的當數據庫的表結構更改後使用代碼生成器產生的代碼通常要重新產生因次如果對這兩個項目中的代碼做了手工的改動在重新生成代碼時改動的代碼將會丟失而且Duwamish對數據庫的支持不容易擴充如果想把數據庫移到Oracle中要改很多的代碼但在PetShop 中只是更改配置文件nfig
From:http://tw.wingwit.com/Article/program/net/201311/11596.html