我想實現一個小型應用程序,使用MS SQL Server作爲後端的Swing和MVC設計模式。 該應用程序以簡單的登錄表單開始。此外,應用程序的用戶還有兩種角色。MVC,Swing,觀察者模式設計決策
- 管理員:可以創建,刪除,修改,查看所有用戶以及應用程序提供的所有功能。
- 應用程序用戶:只能使用應用程序提供的功能。
我正在考慮爲每個角色分配兩個獨立的幀,即UI。
主登錄表單/ GUI作爲一個視圖,具有使用Observer模式註冊視圖的Login控制器類。按鈕註冊控制器偵聽的事件,調用適當的DAO連接到數據庫並驗證用戶是否可以登錄到應用程序。 用於登錄的存儲過程返回access_role,即管理員,應用程序用戶,未知用戶或通過DAO返回到登錄控制器的未經身份驗證的用戶。
我想保持耦合儘可能低,因此用Observer Pattern分離關注點和MVC設計。
現在我的問題是,
- 應登錄控制器根據跟蹤access_role返回或者顯示應用程序的用戶界面或管理員界面還是應該把它傳遞這些信息反饋到登錄界面應該初始化各自的GUI?
- 如果登錄控制器應該決定啓動哪個UI,那麼還需要爲各個GUI設置所有監聽器?這是一個好的設計決定,還是有更好的方法呢?
- 如果登錄控制器將access_control傳遞迴登錄表單,那麼登錄表單將不得不初始化新GUI的所有偵聽器,並實例化新的GUI?這比控制器做的更好嗎?
- 管理員和應用程序用戶的UI應該是JFrame還是對話框?
希望聽到您對此的看法。
最好的問候, 卡希夫汗