Cra*_*lus 5 java model-view-controller user-interface swing design-patterns
我已经使用Swing实现了GUI,并且总是尽可能地遵循MVC模式.
我想知道,如果MVC不是这个难题的唯一部分.
在FS的设计中也使用FSM吗?
我从未在GUI中使用过FSM,我的方法是:在操作中,调用控制器的相应方法,最终更新模型,最后更新视图.
通常在用户操作触发请求时,我使用了一些简单的检查来确保用户应该能够执行此类操作:是否启用了特定组件?或者这种标签是否可见?等
这似乎工作至今,但我不得不承认,我是"幸运的",并没有建立过于复杂,复杂的或复杂的图形用户界面.
我之前构建了FSM(在不同类型的应用程序中 - 主要是在C++中),我开始怀疑GUI中的FSM是否实际用作模式和我的方法,即检查ActionListeners代码,用户看到的内容以及哪些组件启用或禁用等,以确定用户是否应该看到一些错误消息,而不是能够执行特定操作,例如按钮承诺对于成熟的GUI应用程序实际上是一个坏主意.
因此,当开始设计GUI以及如何实现MVC时,您是否在设计中适合/关联FSM?
更新:
在评论中回顾Dhruv Gairola的文章后,我仍然对此感到困惑.
文章提到构建一个FSM,虽然它实际上绑定到计算器实现,这意味着即使计算器实现了没有GUI而是通过命令行获得用户输入,仍然需要FSM.
我仍然不确定FSM是否在每个时间点验证用户的操作,是一种流行或有效的设计.
似乎可能需要付出太多努力,并且要求GUI已经完全提前设计,并且所有可能的用户操作都已根据特定状态映射到特定结果.
鉴于没有任何评论只是一个回复,我倾向于认为可能是FSM(以验证用户对控件的操作)实际上没有使用.
对此的任何意见都非常欢迎.
谢谢.
让我们这样说——设计模式主要是对不同设计原则的阐述,例如封装变化的内容、对接口进行编程,而不是实现等。因此,您不必使用模式或任何东西,基本上要确保您的编程方式符合良好的设计原则。如果将 FSM 用于特定设计具有设计意义,我建议您采用它。通常鼓励使用模式,以便其他程序员能够理解您的逻辑,并根据他们对模式的了解轻松地对其进行扩展。没有严格的规则说你必须使用 MVC,你必须使用等等等等。结论:只要你应用的模式符合良好的设计原则,(或者即使你没有使用特定的模式) ),确保它的设计足够好,足以让其他人轻松扩展和理解它。这就是我的两分钱的价值..
| 归档时间: |
|
| 查看次数: |
1531 次 |
| 最近记录: |