三層架構 資料訪問層 業務邏輯層 表示層

2021-09-25 10:38:00 字數 4353 閱讀 5836

三層架構

資料訪問層

業務邏輯層

表示層

方便團隊開發,**復用

不屬於三層,但跟三層息息相關——實體類(跟資料庫表對應的類)

資料訪問層

連線資料庫,執行sql語句

cn.edu.xcu.sims.dao

basedao

//增刪改的封裝

public int executeupdate(string sql,object ...args) catch (sqlexception e)

}

cn.edu.xcu.sims.dao.impl

studentdaoimpl

實現類

public class studentdaoimpl extends basedao1 implements studentdao

@override

public boolean deletestudent(int stuid)

@override

public boolean updatestudent(students stu)

return false;

} @override

public students findstudent(int stuid)

} catch (sqlexception e)

return stu;

} @override

public listquerystudentbygrade(int gradeid)

return list;

} catch (sqlexception e)

}//模糊查詢

@override

public listquerystudentbyname(string stuname)

return list;

} catch (sqlexception e)

} public listqueryallstudent()

return list;

} catch (sqlexception e)

} @override

public listqueryallstudentbykeyword(string stunamekeyword)

return list;

} catch (sqlexception e)

}

封裝介面和實現類

封裝對錶的操作方法

業務邏輯層

封裝物件的,業務方法,需要什麼方法,封裝什麼方法

封裝業務邏輯

執行多個sql語句才能完成的業務

轉賬、商品折扣等都屬於業務

業務介面

cn.edu.xcu.sims.biz

studentbiz    studentservice    studentmanager
studentbiz

public inte***ce studentbiz
業務實現類

cn.edu.xcu.sims.biz.impl

studentbizimpl

封裝業務方法

public class studentbizimpl implements studentbiz

@override

public listgetallstudentbyname(string stuname)

//資料訪問層不允許寫輸出,測試可以,不能顯示在ui介面,可以丟擲異常

//輸入輸出只存在於表示層

@override

public boolean addstudent(students stu)

} if(exists)

else

} @override

public boolean removestudent(int stuid)

@override

public boolean modifystudent(int stuid)

else

} @override

public students getstudentbyid(int stuid)

@override

public listgetallstudentbykeyword(string stunamekeyword)

表示層

程式執行出來可看到的部分

ui包名 cn.edu.xcu.sims.web(網頁)/ui(控制台)

cn.edu.xcu.sims.ui

menu

public class menu 

system.out.println("是否繼續");

if(input.next().equalsignorecase("y"))

else

} public void selectnamebykeyword()

} else

} public void modifystudent()

} catch (exception e)

} public void deletestudent()

else

else }}

} } public void showstudentbyid()

else

} public void showstudent()

} public void showstudentbyname()

} else

} public void addstudent() catch (studentnameexist***ception e) catch (exception e)

}

start

public class start 

}

關係

表示層通過——業務邏輯層——資料訪問層——訪問資料庫——封裝成物件——返回業務邏輯層——表示層

實體類——封裝資料 每層都要用

實體類cn.edu.xcu.sims.entity

students

public class students implements serializable

public void setstuid(int stuid)

public string getstuname()

public void setstuname(string stuname)

public string getgender()

public void setgender(string gender)

public grade getgrade()

public void setgrade(grade grade)

public string getphone()

public void setphone(string phone)

public string getaddress()

public void setaddress(string address)

public students()

public students(int stuid, string stuname, string gender, grade grade, string phone, string address)

@override

public string tostring()

}

grade

public class grade 

public void setgradeid(int gradeid)

public string getgradename()

public void setgradename(string gradename)

public grade(int gradeid, string gradename)

public grade()

@override

public string tostring()

}

異常

cn.edu.xcu.sims.exception

studentnameexist***ception

public class studentnameexist***ception extends runtimeexception	

}

三層架構 表示層 業務邏輯層 資料訪問層

三層架構和mvc是兩個東西。非要相關的話 三層架構中 表現層 的aspx頁面對應mvc中的view 繼承的類不一樣 三層架構中 表現層 的aspx.cs頁面 類 對應mvc中的controller 三層架構中業務邏輯層和資料訪問層對應mvc中的model 由於層是一種弱耦合結構,層與層之間的依賴是向...

三層架構 表示層 業務邏輯層 資料訪問層2

在軟體體系架構設計中,分層式結構是最常見,也是最重要的一種結構。微軟推薦的分層式結構一般分為三層,從下至上分別為 資料訪問層 業務邏輯層 又或稱為領域層 表示層。三層結構原理 3個層次中,系統主要功能和業務邏輯都在業務邏輯層進行處理。所謂三層體系結構,是在客戶端與資料庫之間加入了乙個 中間層 也叫元...

三層業務邏輯

1.確定需求 2.根據需求確定sql 3.編寫資料訪問層類,dal 4.編寫業務層 bll 5.編寫表現層 ui 三層結構常用類庫 dal 資料訪問類 bll 業務類 ui 表現層 視窗,多窗體傳值的靜態類gloabhelper model 實體類 資料例項物件 utility 實用類 comman...