【发布时间】:2013-08-03 16:06:43
【问题描述】:
我正在尝试使用 Swing 和 MVC 设计模式以 MS SQL Server 作为后端来实现一个小型应用程序。 该应用程序以一个简单的登录表单开始。应用程序的用户也有两种角色。
- 管理员:可以创建、删除、修改、查看所有用户以及应用程序提供的所有功能。
- 应用程序用户:只能使用应用程序提供的功能。
我正在考虑有两个单独的框架,即每个角色的 UI。
主登录表单/GUI 充当视图,具有使用观察者模式注册视图的登录控制器类。该按钮注册事件,控制器侦听,调用适当的 DAO 以连接到数据库并验证用户是否可以登录到应用程序。 login的存储过程返回access_role,即管理员、应用程序用户、未知用户或未经身份验证的用户,通过DAO返回给Login Controller。
我希望保持尽可能低的耦合,从而将关注点分离和使用观察者模式进行 MVC 设计。
现在我的问题是,
- 登录控制器应该根据返回的 access_role 来决定显示应用程序用户 UI 还是管理员 UI,还是应该将该信息传递回应该初始化相应 GUI 的登录 UI?
- 如果登录控制器应该决定启动哪个 UI,那么它还需要为相应的 GUI 设置所有侦听器吗?这是一个好的设计决策还是有更好的方法?
- 如果登录控制器将 access_control 传递回登录表单,那么登录表单必须为新 GUI 初始化所有侦听器并实例化新 GUI?这比控制器做的更好吗?
- 管理员和应用程序用户的 UI 应该是 JFrame 还是对话框?
希望听到您对此的看法。
最好的问候, 卡希夫汗
【问题讨论】:
标签: swing model-view-controller architecture observer-pattern