应该如何设计以数据库为中心的Java Swing应用程序?
我一直在编写以数据库为中心的Java Swing应用程序。
GUI和DAO代码最终出现在一棵大树中:
JFrame
|
JTabbedPane
|
+--------------------+----------------------+-------------+
| | | |
JPanel1 JPanel2 JPanel3 JPanel4
| | | |
JButtons--JTable1 JTextFields--JButton JTable2 JDialog--JTable3
i! i! i! i!
Model1 Model2 Model3 Model4
| | | |
+------------+-----------+---------+-------------------+
|
DataAccessObject
该应用程序有几个视图,一些包含用于显示数据的JTable,一些包含一个带有用于编辑或添加数据的表单的对话框。
我有一个带有JDBC连接的DataAccessObject
。我使用几个模型(扩展AbstractTableModel
)将视图(表单或表格)与DAO连接起来。
在我的第一个版本中,我将DAO实现为Singleton,然后我了解到这是一个反模式并使用了依赖注入,所以我基本上首先初始化DAO然后将其注入到所有模型的构造函数中。然后我初始化JFrame并在孔GUI树中的构造函数中注入模型的引用。
通过孔GUI树传递对模型的引用感觉非常笨拙,但我知道我对依赖关系有很好的控制。但是有没有更好的设计我可以用于以数据库为中心的Java Swing应用程序,其中有许多数据视图需要与数据库连接的模型?
没有找到相关结果
已邀请:
1 个回复
响摔衅幸