Duwamish 7 初探 資料流程

2021-09-30 02:48:46 字數 3065 閱讀 5905

duwamish 7

是微軟的乙個基於

asp.net

的分布式應用程式範例。

duwamish

的若干個核心檔案:

驗證資料合法性

定義讀寫配置的框架

common/duwamishconfiguration.cs //

讀寫配置(通過

)以上是整個應用程式的框架核心,還有乙個

,作用和

configuration

類似。web/web.config //

應用程式配置檔案

web/pagebase.cs // web

窗體頁基類,供

aspx

派生,其中定義了需要頁面間共享的資料(如使用者、訂單資訊,用屬性定義)

web/modulebase.cs // web

控制項基類,供

module/*.ascx

派生,其中定義了所有模組所需要的應用程式路徑和其他共享資訊(用屬性定義)

duwamish 7

是乙個商業應用應用縮影,

其中的結構、框架、層次定義得十分複雜,

管中窺豹

,可見一斑

.使用者介面

——web

業務外觀

——businessfacade

業務規則

——businessrules

資料訪問

——dataaccess

對於乙個嚴謹、清晰、易於維護的

web應用大都如此。

我們以乙個使用者登入過程為例**其資料流程。

web/secure/logon.aspx

接受使用者登入表單提交,觸發

logon.logonbutton_click

事件(web/secure/logon.aspx.cs

中204

行)web/secure/logon.aspx.cs

中243

行:custdata = (new customersystem()).getcustomerbyemail(logonemailtextbox.text, logonpasswordtextbox.text);

businessfacade

中customersystem

類(business/facade/customersystem.cs

)實現「

使用者賬號訪問介面」邏輯

其中businessfacade.getcustomerbyemail()

(business/facade/customersystem.cs中45

行)定義「通過

email

讀取使用者資訊」介面

business/facade/customersystem.cs中58

行:using (dataaccess.customers customersdataaccess = new dataaccess.customers())

dataaccess

中customers

類(dataaccess/customers.cs

)實現「

使用者賬號資料訪問」邏輯

其中customers.loadcustomerbyemail()

(dataaccess/customers.cs

中217

行)定義「通過

email

讀取使用者資訊」介面

——通過訪問

sql server

儲存過程

「getcustomerbyemail」

dataaccess/customers.cs

中227

行:dscommand.selectcommand = getloadcommand();

dataaccess.customers.getloadcommand()

初始化儲存過程及引數並返回其介面(

dataaccess/customers.cs

中112

行)dataaccess/customers.cs

中119

行:loadcommand = new sqlcommand("getcustomerbyemail",new sqlconnection (duwamishconfiguration.connectionstring));

初始化儲存過程。其資料庫連線由

common.duwamishconfiguration

中connectionstring

屬性獲得。

common

中duwamishconfiguration

類(common/duwamishconfiguration.cs

)定義了應用程式配置資訊的訪問介面(通過訪問類的屬性)

其中duwamishconfiguration.connetionstring

屬性提供

「資料庫連線字串訪問」介面

common/duwamishconfiguration.cs

中151

行:public static string connectionstring }

common/duwamishconfiguration.cs

中107

行由預設值常量設定

「資料庫連線字串」:

dbconnectionstring = dataaccess_connectionstring_default;

common/duwamishconfiguration.cs

中107

行由讀取

「應用程式配置檔案

」中相應設定

「資料庫連線字串」:

中類定義了配置讀寫介面()其中

定義「讀取配置」介面

中190

行:public static string readsetting(namevaluecollection settings, string key, string defaultvalue)

catch }

至此,一條從介面到資料庫的通道就被順利開通了。

使用者賬戶資料被一層一層地返回給介面,並由介面定義的邏輯去處理。

Duwamish 7 初探 資料流程

duwamish 7是微軟的乙個基於asp.net的分布式應用程式範例。由於工作上的原因,本人不得不對其研究一二。有所心得,不敢獨樂,故於此與眾位分享之。一併 asp.net,萬望眾位達人不吝賜教,btw 在msdn.net中有其結構與流程詳解,本人在此基礎上總結心得,並對其中不甚明了之處做一補充,...

Duwamish 7 初探 資料流程

duwamish?7是微軟的乙個基於asp.net的分布式應用程式範例。由於工作上的原因,本人不得不對其研究一二。有所心得,不敢獨樂,故於此與眾位分享之。一併 asp.net,萬望眾位達人不吝賜教,btw?在msdn.net中有其結構與流程詳解,本人在此基礎上總結心得,並對其中不甚明了之處做一補充,...

Duwamish7學習筆記(五)

businessfacade專案 業務外觀層封裝了3個類customersystem,ordersystem,productsystem,類中直接呼叫資料訪問層和業務邏輯層類的方法與屬性提供對web層的介面。有意思是的每個類結尾均以system命名。客戶系統?訂單系統?產品系統?業務外觀層中3個類均...