建立ASP.NET三層架構建立的方法

來源:互聯網
上載者:User

Web 層

Web 層為用戶端提供對應用程式的訪問。這一層是作為 Duwamish.sln 解決方案檔案中的 Web 項目實現的。Web 層由 ASP.NET Web Form和程式碼後置檔案組成。Web Form只是用 HTML 提供使用者操作,而程式碼後置檔案實現各種控制項的事件處理。

業務外觀層

業務外觀層為 Web 層提供處理帳戶、類別瀏覽和購書的介面。這一層是作為 Duwamish.sln 解決方案檔案中的 BusinessFacade 項目實現的。業務外觀層用作隔離層,它將使用者介面與各種業務功能的實現隔離開來。除了低級系統和支援功能之外,對資料庫伺服器的所有調用都是通過此程式集進行的。

商務規則層

商務規則層是作為 Duwamish.sln 解決方案檔案中的 BusinessRules 項目實現的,它包含各種商務規則和邏輯的實現。商務規則完成如客戶帳戶和書籍訂單的驗證這樣的任務。

資料訪問層

資料訪問層為商務規則層提供資料服務。這一層是作為 Duwamish.sln 解決方案檔案中的 DataAccess 項目實現的。

程式碼範例:

以下是兩種不同處理路徑的程式碼範例:

擷取商品目錄

展示層調用業務外觀層:

productSystem = new ProductSystem();

categorySet = productSystem.GetCategories(categoryID);

業務外觀層直接調用資料層:

public CategoryData GetCategories(int categoryId)
{
if ( dsCommand == null )
{
throw new System.ObjectDisposedException( GetType().FullName );
}
return FillCategoryData("GetCategories", "@CategoryId", categoryId);
}

添加定單

展示層調用業務外觀層:

public void AddOrder()
{
ApplicationAssert.CheckCondition(cartOrderData != null, "Order requires data", ApplicationAssert.LineNumber);
ApplicationLog.WriteTrace("Duwamish7.Web.Cart.AddOrder:\r\nCustomerId: " +
cartOrderData.Tables[OrderData.CUSTOMER_TABLE].Rows[0][OrderData.PKID_FIELD].ToString());
cartOrderData = (new OrderSystem()).AddOrder(cartOrderData);
}

業務外觀層調用商務規則層:

public OrderData AddOrder(OrderData order)
{
ApplicationAssert.CheckCondition(order != null, "Order is required", ApplicationAssert.LineNumber);

(new BusinessRules.Order()).InsertOrder(order);
return order;
}

商務規則層調用資料層:

public bool InsertOrder(OrderData order)
{
//此處省略複雜的處理邏輯
if ( isValid )
{
using (DataAccess.Orders ordersDataAccess = new DataAccess.Orders())
{
return (ordersDataAccess.InsertOrderDetail(order)) > 0;
}
}
else
return false;
}

 


 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.