JavaEE笔记——快递管理系统架构
目錄
?
代碼模塊分析:MVC
視圖層
dao層
調(diào)度層
Express對象
代碼模塊分析:MVC
1.V 視圖展示(歡迎,菜單,子菜單)
2.M 數(shù)據(jù)存儲(chǔ)(快遞數(shù)據(jù))
3.C 調(diào)度邏輯(根據(jù)視圖接收到的用戶輸入內(nèi)容,調(diào)度數(shù)據(jù)存取)
視圖層
主界面視圖
1.讀取用戶輸入流:要用private來修飾權(quán)限
2.歡迎語:void類型,打印歡迎語
3.結(jié)束語:void類型,打印結(jié)束語
4.選擇身份菜單menu:返回int類型,無參;返回的是用戶輸入的數(shù)字。
-
打印功能序號(hào)與對應(yīng)內(nèi)容
-
做一些錯(cuò)誤輸入的異常處理或限制
-
錯(cuò)誤輸入則遞歸返回menu函數(shù)
-
返回?cái)?shù)字
快遞員界面視圖
5.快遞員菜單cmenu:邏輯同menu。
6.快遞員錄入快遞提示視圖:返回Express快遞信息儲(chǔ)存對象,無參;
-
打印錄入快遞信息的提示語
-
接收并存儲(chǔ)用戶輸入的內(nèi)容
-
使用對象的setxx()方法設(shè)置對象的內(nèi)容,內(nèi)容為用戶輸入的內(nèi)容。
-
返回Express對象
7.查詢單號(hào)視圖 :返回String類型的數(shù)字,無參;
-
打印提示信息
-
接收并存儲(chǔ)用戶輸入的內(nèi)容
-
返回用戶輸入的內(nèi)容
8.顯示快遞信息視圖:void類型,參數(shù)為Express對象。僅打印提示語和快遞信息(用對象調(diào)用方法)。
9.修改快遞信息視圖:void類型,參數(shù)為Express對象。
-
打印輸入快遞信息的提示語
-
接收并存儲(chǔ)用戶輸入的內(nèi)容
-
使用對象的setxx()方法設(shè)置對象的內(nèi)容,內(nèi)容為用戶輸入的內(nèi)容。
10.詢問是否刪除快遞視圖:返回int類型,無參;返回的是用戶輸入的數(shù)字。
-
打印功能序號(hào)與對應(yīng)內(nèi)容
-
做一些錯(cuò)誤輸入的異常處理或限制
-
錯(cuò)誤輸入則遞歸返回delete函數(shù)
-
返回?cái)?shù)字
11.打印所有快遞信息視圖:void類型,參數(shù)為二維數(shù)組。僅打印
-
兩層for循環(huán)暴力搜索每個(gè)二維數(shù)組的元素。如果非空,打印信息
-
如果都是空的,沒有快遞信息,打印相應(yīng)的提示語。
用戶界面視圖
12.用戶輸入取件碼視圖:邏輯同menu
其他視圖(類型為void,功能為僅打印)
13.提示快遞單號(hào)已存在視圖
14.提示快遞單號(hào)不存在視圖
15.打印取件碼視圖
16.打印操作成功視圖
dao層
1.初始化相關(guān)變量,對象:數(shù)組,已存儲(chǔ)的數(shù)組統(tǒng)計(jì)量size,隨機(jī)碼對象等
2.存儲(chǔ)快遞add():返回Boolean型,表示是否成功存儲(chǔ)快遞。參數(shù)為Express對象。
-
如果size=100,數(shù)組已滿,返回false,存儲(chǔ)失敗
-
如果size<100
-
隨機(jī)生成二維數(shù)組下標(biāo)
-
生成取件的隨機(jī)碼
-
3.生成取件隨機(jī)碼 :private int 類型,無參,返回的是取件的隨機(jī)碼
-
生成隨機(jī)數(shù)字
-
while死循環(huán)
-
用取件碼查詢快遞,返回一個(gè)二維數(shù)組對象
-
如果對象為空,則表示生成的取件碼在已生成的取件碼中不存在的,則返回剛剛生成的取件碼
-
否則循環(huán)到有空對象為止。
-
?
-
4.根據(jù)單號(hào)查詢快遞:返回二維數(shù)組對象,參數(shù)為string型的整數(shù)。
-
用參數(shù)設(shè)置Express 對象
-
用兩層for循環(huán)暴力搜索二維數(shù)組
-
將對象與二維數(shù)組用equals來比較其內(nèi)容是否相同。必須用Express e.equals(data[i[j)
-
如果相同,則返回data[i[j].否則返回null.
-
5.根據(jù)取件碼查詢快遞:與根據(jù)單號(hào)查詢快遞邏輯類似,但參數(shù)是int類型的隨機(jī)碼。并且判斷條件更改為:data[i[j.getCode() == code
6.修改快遞信息:void類型,兩參數(shù)(舊快遞信息對象,新快遞信息對象)
-
刪除舊對象
-
使用存儲(chǔ)快遞的add函數(shù)添加新對象
7.刪除快遞信息:void類型,參數(shù)為Express對象。
-
兩層for暴力搜索
-
如果二維數(shù)組非空,并且用e.equals(data[i[j)作為條件,
-
滿足,則令data[i[j==null,并退出最外層for循環(huán)
-
-
8.返回所有快遞:返回類型為二維數(shù)組,無參。返回整個(gè)data
調(diào)度層
1.初始化視圖對象view和dao層對象。
2.歡迎語
3.彈出身份選擇菜單:
-
死循環(huán)
-
初始化主菜單
-
switch()選擇和調(diào)用
-
4.快遞員客戶端:大框架與身份選擇菜單相同
-
錄入快遞
-
打印提示信息
-
根據(jù)單號(hào)判斷快遞是否儲(chǔ)存過
-
儲(chǔ)存過,打印快遞單號(hào)已存在視圖
-
未儲(chǔ)存過,用add()方法存儲(chǔ)并打印顯示快遞信息視圖
-
-
-
刪除快遞
-
輸入快遞單號(hào)
-
根據(jù)單號(hào)查找快遞對象
-
對象為空,打印快遞單號(hào)不存在視圖
-
對象不為空
-
打印快遞對象信息
-
調(diào)用刪除delete方法。
-
-
-
-
修改快遞
-
輸入快遞單號(hào)
-
根據(jù)單號(hào)查找快遞對象
-
打印快遞信息
-
對象為空,打印快遞單號(hào)不存在視圖
-
對象不為空,打印顯示快遞信息視圖
-
-
提示修改(v.update(e))
-
-
打印所有
-
返回所有(dao層)
-
打印所有(view層)
-
5.用戶客戶端
-
取件碼獲取
-
根據(jù)取件碼取出快遞
-
如果取件碼為空,打印快遞單號(hào)不存在視圖
-
如果取件碼不為空
-
打印操作成功視圖
-
打印顯示快遞信息視圖
-
刪除快遞信息
-
-
?
Express對象
private String num; //快遞單號(hào)
private String company;//快遞公司
private ?int code;//快遞取件碼
?
@Override
public boolean equals(Object o) {
? ? if (this == o) return true;
? ? if (o == null || getClass() != o.getClass()) return false;
? ? Express express = (Express) o;
? ? return Objects.equals(num, express.num);
}
總結(jié)
以上是生活随笔為你收集整理的JavaEE笔记——快递管理系统架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英语语法笔记——冠词
- 下一篇: windows11 22H2资源管理器开