三層架構
資料訪問層
業務邏輯層
表示層
方便團隊開發,**復用
不屬於三層,但跟三層息息相關——實體類(跟資料庫表對應的類)
資料訪問層
連線資料庫,執行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...