Java GUI应用程序架构+数据库,MVC

时间:2014-07-10 11:45:33

标签: java sql swing jpa model-view-controller

我正在为仓库管理编写应用程序(这是我在Java中的第一个主要程序)。我想知道如何正确计划。

SQL表:ORDERS | COMPANY | CATEGORIES | PRODUCTS | CUSTOMERS

当您打开程序时,您可以选择屏幕中央的大按钮:

  • 浏览订单

  • 添加类别

  • 添加您的公司

  • 产品

  • 客户

(然后这些选项将位于顶部的栏上)

没有类比按钮名称将执行不同的功能。表I中显示的数据,以及点击记录后将能够编辑(如我所见),复选框 - 批量删除,总数是每个选项将复制的功能。

整个应用程序都希望依赖MVC模式,但我还不知道究竟要如何区分。

- 用于映射想要使用JPA

-Singleton模式将处理数据库连接

-Pattern策略将支持导航(浏览顺序,添加类别等)

我现在想知道如何从数据库层中隔离表示层(表,按钮等),我看不到这一点,也许是因为我做了一个永远不会这样的例子。要切换视图,请使用CardLayout。我想知道有哪些模式以及如何使用它更多计划。

编辑:

求和: 使用哪种设计模式? 如何在MVC中有效地划分? 使用JPA是一个很好的步骤? 我正在寻找例子。

2 个答案:

答案 0 :(得分:0)

我的建议是MVC框架(如Spring MVC)+ Apache Velocity模板(在html代码中,您可以使用Java对象和函数来获取所需内容)或Java Server Pages。也许如果你的应用程序很小(速度模板就足够了)

答案 1 :(得分:0)

问题不是那么具体,所以我只选择你问题的一部分。

  

如何隔离表示层(表,按钮等)   数据库层

您可能会使用 Java Swing 来实现MVC模式。 Swing提供了可用于用户界面的GUI元素。 每个用户界面实例都具有与用户操作相对应的相关操作,例如clickmoveselect。 每当触发一个动作时,听众都会抓住Controller的那些动作。 这是您在Model图层上工作的地方。 Controller将更新Model(使用您的术语数据库图层)。视图将根据更新的Model进行渲染。

详情请参阅:

Official Swing

Simple Representation

Good one in terms of MVC simplification