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