三層架構之登入

2021-07-06 07:48:45 字數 3979 閱讀 1811

在專案開發的過程中,有時把整個專案分為三層架構,其中包括:表示層(ui)、業務邏輯層(bll)和資料訪 

問層(dal)。三層的作用分別如下: 

表示層:

為使用者提供互動操作介面,這一點不論是對於web還是winform都是如此,就是使用者介面操作 

。我們**展示給使用者看的介面。 

業務邏輯層:

負責關鍵業務的處理和資料的傳遞。複雜的邏輯判斷和涉及到資料庫的資料驗證都需要在此 

做出處理。根據傳入的值返回使用者想得到的值,或者處理相關的邏輯。 

資料訪問層:

見名知意,負責資料庫資料的訪問。主要為業務邏輯層提供資料,根據傳入的值來運算元據 

庫,增、刪、改或者其它。 

以下我簡單介紹下乙個使用者管理模組:

為了整個專案的開發方便,我們在專案中會建幾個類庫common,bll,dal,model。 

為了命名清晰,我們可以這樣命名這個三個工程(即在解決方案裡新增的類庫): 

業務邏輯層(businesslogiclayer):bll,命名空間預設設定為bll

資料訪問層(dataaccesslayer):dal,命名空間預設設定為dal

工具類:如:common,命名空間預設設定為common

另外我們為了資料傳遞的方便,通常再新增乙個類庫,這個類庫是貫穿於整個三層架構中的。即實體類。 

通常命名為model,命名空間預設值設定為:models。其中封裝的每個類都對應乙個實體,通常就是資料庫 

中的乙個表。如資料庫中的使用者表(custom)封裝為(custom),將表中的每個欄位都封裝成共有的屬 

性。這樣三層架構的搭建就基本完成了。這三層有著非常強的依賴關係: 

表示層 ← 業務邏輯層 ← 資料訪問層 

他們之間的資料傳遞是雙向的,並且通常借助實體類傳遞資料。

那麼三層架構都有哪些優點呢:

1、易於專案的修改和維護。

在專案的開發過程中或者開發後的公升級過程中,甚至在專案的移植過程中。 

這種三層架構是非常方便的。比如專案從web移植到form,我們只需要將表示層重新做一遍就可以了。 

其餘兩層不用改動,只需新增到現有專案就可以了。如果不採用這種架構,只是將**寫到表示層。那麼 

所有的編碼幾乎都要重新來了。 

2、易於擴充套件。

在功能的擴充套件上同樣如此,如有功能的新增只需把原有的類庫新增方法就可了 

3、易於**的重用。

這一點就不用解釋了。 

4、易於分工協作開

還可以加個介面類庫iinte***ce, 加入設計模式,使你的**靈活性更好,質量更高。

a,整體

/// 密碼錯誤超過三次,鎖定登入者

///

///

public

void updateoperator(operator op)

///

/// 登入

///

///

public

bool login(string name,int errortime,string pwd,out

string message,out operator op)

if (pwd.length <= 0)

if (errortime>=3)

else

else

else}}

return r;}}

}}d,operationlogdal.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

using hrmsys.model;

using system.data;

using system.data.sqlclient;

namespace hrmsys.dal}}

e,operatordal.cs
using system;

using system.collections.generic;

using system.linq;

using system.text;

using hrmsys.model;

using system.data.sqlclient;

using system.data;

namespace hrmsys.dal

///

///查詢指定username的一條資料

///

///

///

public operator loginuser(string name)

}///

/// 鎖定管理員更新管理員表

///

///

public

void updateoperator(operator op)}}

f,login.cs
using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

using hrmsys.model;

using hrmsys.bll;

using hrmsys.bll.cs;

namespace hymsys.ui

int errortime = 0;

string message;

operator op;

operationlogbll logbll = new operationlogbll();

operatorbll bll = new operatorbll();

///

/// 登入,並儲存登入操作記錄

///

///

///

private

void button1_click(object sender, eventargs e)

else

}///

/// 取消

///

///

///

private

void button2_click(object sender, eventargs e)}}

生活中的不便,用軟體解決,c#學而不用,白學了-----紅馬車

三層架構之模型層

你好,是我琉憶。今天我們講一講三層架構的模型層。為了讓大家能夠更好的理解三層架構,我們通過三層架構實現登入功能,讓你更全面的理解三層架構和使用。模型層主要儲存的是模型物件實體,這些實體的組合叫做實體類庫,它是資料庫表的對映物件,在資訊系統軟體實際開發的過程中,要建立物件例項,將關聯式資料庫表採用物件...

c mysql三層架構例項 三層架構例項

一 概要 這篇部落格,準備用乙個小demo來介紹應該實現三層架構。三層架構只是分層的一種經典形式,到底分幾層,要依具體情況而定,考慮到系統的複雜程度,和後期的可維護性,完全可以分四層,五層,甚至六層,七層。二 demo 1 實現語言 vb.net 2 需求 學校機房收費系統 中的乙個功能 操作員為學...

軟體架構 三層架構

三層系統的分層式結構 三層架構 3 tier architecture 通常意義上的三層架構就是將整個業務應用劃分為 區分層次的目的即為了 高內聚,低耦合 的思想。表現層 ui 通俗講就是展現給使用者的介面,即使用者在使用乙個系統的時候他的所見所得。業務邏輯層 bll 針對具體問題的操作,也可以說是...