8

我知道这个问题很模糊,但我会尽量让自己清楚。

我正在启动一个涉及 Swing GUI 的 Java 项目。我想遵循 MVC 模式,并且可以使用框架的一些帮助来组织项目的架构。我正在考虑使用Griffon,尽管我想其他人可能会这样做。

那么,在以下方面使用框架是否是个好主意:

  • 编程效率:当然会提高……大部分时候。更准确地说,如果项目很小怎么办?还是一个大的?如果我已经非常熟悉 Java 和 Swing 怎么办?如果我不是呢?如果项目必须由对我使用的框架一无所知的人维护怎么办?

  • 学习价值:我会仅仅“学习如何使用框架”,而不是在不同的环境中学习更多关于 Java 和 Swing 的知识吗?

  • 专业价值:公司会更喜欢了解“更多”框架(即使他们可能不是他们打算使用的框架)的开发人员,而不是更了解“传统”方法的开发人员吗?

我在其他地方发现的信息很少,考虑到这个问题有多大,这令人惊讶。这可能看起来微不足道,但我实际上想知道它。

4

4 回答 4

6

当然,我对 Griffon 有偏见,但我会尽量做到客观:

但最终只有一种意见很重要:你的。我建议你和 Griffon 一起花几个小时,如果你到那时还看不到它的附加值……恐怕我们必须更加努力地让它变得更好。

干杯

于 2013-05-03T13:33:59.273 回答
5

众所周知,Griffon 是基于 Groovy 的,Groovy 有漂亮的 Java 风格,可能你会避免很多代码行,但我们总是需要考虑一些方面,比如知识和进度。

  • 知识:您的生产力与您所知道的以及如何使用您所知道的有关,如果您在 Java 中感到舒适,请使用 Java,因为您的目标似乎是使用 MVC,正如 Juned 所说,我们可以使用 Swing 做到这一点, 也。
  • 时间安排:如果你现在有时间学习,并且很想学习一个新的框架,现在是时候了,但是你必须按照你的时间安排,别忘了你需要按时完成这个项目。

所以,考虑使用你所知道的,并将新事物研究到另一个项目中。

避免在没有手电筒的情况下在黑暗中潜水。

于 2013-05-03T11:12:55.410 回答
3

我正在评估 Griffon 作为一个框架。我的印象是这个项目正在慢慢消亡。恕我直言,Groovy 不再是主流(我想知道它是否曾经是主流?)。现在每个人都喜欢 Scala。

现在回到你的问题:

  • 大多数框架都希望您遵循标准的开发路径。任何更改/定制很可能会引入难以维护的解决方案(之后他们将其称为架构)。选择一个允许你完成 95% 的计划的框架。是的,选择一个主流框架。
  • Griffon 是基于 Groovy 的,所以你必须先掌握 Groovy。好的,Groovy 是一种 JVM 语言,如果您对 Java 没问题,它会大有帮助,但是所有这些 DSL 仍然需要一些时间来让您在脑海中安定下来。
  • 如果您知道任何主流框架 - 这是一项宝贵的资产。可悲的事实是,框架往往会褪色/消亡,您必须不断寻找新的热门事物。你永远不会停止学习(尽管关键原则不能改变并且在框架之间保持不变)
于 2013-05-03T10:07:08.903 回答
2

如果您理解它,为环境实现 MVC 模式应该很容易。首先是关于它的注释:http ://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

现在进入基于 Swing 的环境,您可以通过划分模型-视图-控制器来实现代码。视图是您实际创建用户界面的 Swing 类。在这样的类中,您应该通过不同的侦听器简单地捕获用户操作,但不应该实现任何业务逻辑。控制器应该执行业务逻辑,并且可以在需要时使用模型。

例如,您正在创建一个用于登录的 Swing GUI。创建一个 LoginView 类,您将在其中创建框架、文本字段、按钮等。还可以根据需要将侦听器附加到不同的控件。现在,每当用户提交登录信息时,您都应该调用控制器来进行凭据验证。凭证可以存储在数据库中,该数据库应加载并存储在模型(DAO)中。Controller 应该从 View 获取用户输入,从 Model 获取正确的凭据,并且比较逻辑应该在 Controller 中实现。

希望能帮助到你!

于 2013-05-03T10:00:32.660 回答