這是去年做的一個小項目時用到的一種開發結構,很簡單,沒有太多的技巧,按照這個結構,這個小項目運作的還不錯,後來有幾次大的修改,這種結構也就過時了。當時為了讓項目組的成員統一代碼結構,寫了這個文檔。在硬碟裡沒有多大作用,共享出來,供大家參考。
我不是高手,但是我認為自己很實在,把項目弄得很穩定,客戶滿意,老闆開心,我們程式員也開心。這就夠了。很少研究什麼叫三層,什麼是四層,個人認為沒必要分那麼清楚。
先上圖,看看系統的結構圖
系統分五個項目,如上圖。
Entity 實體層 用于表示業務實體,可用于在不同的軟體分層中傳遞資料
namespace HTSystem.BusinessEntity
{
public class FlexUser
{
private string employeeCode;
private string name;
private string userName;
}
}
先寫好這三個字段,然後在每個字段名字上點右鍵,重構-->封裝字段,這個類就寫好了。
資料通路層DataProvider 公共的資料通路元件,穩定好用。
如圖,可以支援其它的資料庫,雖然公司現在隻用SQL Server。
Service 服務功能層 調用資料通路層和Entity 層通路資料庫
namespace HTSystem.Service
{
public class UserDB
{
const string SingInSQL = "SELECT EmployeeCode FROM Employee WHERE [UserName]='{0}' AND [Password]='{1}' AND SignIn=1 ";
public static bool SignIn(string UserName, string Password)
{
string MySQL = string.Format(SingInSQL, UserName, Password);
IDataProvider privider = DataProvider.CreateDataProvider();
object idx = privider.ExecuteScalar(MySQL);
return idx!=null&&idx.ToString().Trim().Length > 0 ? true : false;
}
如上代碼,靜态類傳回bool變量,用于判斷是否操作成功
Web應用程式 直接調用Service 層,執行功能
bool ret = UserDB.SignIn(UserName, Password);
Utility 實用功能 常用的功能放在這裡,比如加密和解密,發送郵件
namespace HTSystem.Utility
{
public class Helper
{
public static bool SendEmail(string subject, string body)
{
}
}
歡迎指正。