outline
- MVC
- 領(lǐng)域模型
MVC
Model封裝了你的應(yīng)用數(shù)據(jù)藐不、應(yīng)用流程和業(yè)務(wù)邏輯几颜。-Model被稱為領(lǐng)域模型
View從Model獲取數(shù)據(jù)并格式化數(shù)據(jù)以進(jìn)行顯示。
Controller控制程序流程废登,接收輸入擎宝,并把它們傳遞給Model和View。
controller: 單例
Spring中默認(rèn)單例:
領(lǐng)域模型:
實體類的分類:
1.展示層(VO-View/Value Object,視圖對/業(yè)務(wù)對象):
2.服務(wù)層(DTO-Data Transfer Object趾断,數(shù)據(jù)傳輸對象)
3.領(lǐng)域?qū)?DO-Domain Object拒名,領(lǐng)域?qū)ο?
4.持久層(PO-Persisent Object,持久對象)
各種實體類用于不同業(yè)務(wù)層次間的交互芋酌,并會在層次內(nèi)實現(xiàn)實體類之間的轉(zhuǎn)化增显。
領(lǐng)域模型中實體類的含義及作用
實體類 | 含義及作用 |
---|---|
VO | 代表展示層需要顯示的數(shù)據(jù),每一個屬性都一一對應(yīng)當(dāng)前業(yè)務(wù)邏輯所需要的數(shù)據(jù)的名稱脐帝。 |
DTO | 代表服務(wù)層需要接收的數(shù)據(jù)和返回的數(shù)據(jù) |
DO | 從現(xiàn)實世界中抽象出來的有形或無形的業(yè)務(wù)實體 |
PO | 物理數(shù)據(jù)的對象表示同云。PO的屬性是跟數(shù)據(jù)庫表的字段一一對應(yīng)的。PO對象需要實現(xiàn)序列化接口由一組屬性和屬性的get和set方法組成 |
領(lǐng)域模型中實體類的命名方式:
實體類 | 命名方式 | 生命周期 |
---|---|---|
VO | 以相應(yīng)字符串結(jié)尾堵腹,如*VO.Java | |
DTO | 與他的用途有關(guān)炸站,如寫成*Query.java--表示一個查詢條件 | |
DO | ||
PO | 只能存活在一個數(shù)據(jù)庫連接中,斷開連接即被銷毀 |
DO和PO在絕大部分情況下是一一對應(yīng)的 DO具有業(yè)務(wù)方法
業(yè)務(wù)分層:
1.視圖層(VIEW+ACTION)
2.服務(wù)層(SERVICE)
3.持久層(DAO-data access object疚顷,數(shù)據(jù)庫訪問層):具體到對于某個表旱易、某個實體的增刪改查
dao: 每個DAO都要包含一個不同的Connection對象實例,
請求在不同的線程中處理
每個線程走的邏輯相同,但并沒有用到共享的數(shù)據(jù)荡含,所以可以用單例模式~
線程擁有自己的椫渌簦空間--方法
單實例多線程
BO:business object 業(yè)務(wù)對象,封裝業(yè)務(wù)邏輯的java對象,通過調(diào)用DAO方法,結(jié)合PO,VO進(jìn)行業(yè)務(wù)操作。