java-将MVC模式应用于现有应用程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-将MVC模式应用于现有应用程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1769字,纯文字阅读大概需要3分钟。
内容图文
![java-将MVC模式应用于现有应用程序](/upload/InfoBanner/zyjiaocheng/689/bb9fc923e1a34686a57b0250428927b7.jpg)
这是The MVC pattern and SWING的后续问题.我正在尝试在现有代码中实现MVC模式.现有代码创建一个JFrame,它同时充当视图和控制器. JFrame有一个表,该表的模型是自定义数据模型的适配器.每当用户执行操作时,都会通过执行以下操作来更新模型:
CustomDataTableModel cdtm = (CustomDataTableModel) DataTable.getModel();
CustomDataModel cdm = cdtm.getModel();
cdm.delete(1);
我试图可视化它当前的工作方式,但是我也可视化了我想象与未来控制器和模型之间的关系.
现在,我的问题只是我是否可以继续使用现在的模型?我可以实现以下内容并且仍然“坚持” MVC模式吗?
>用户在表中选择一个元素,然后单击删除按钮.
>视图将操作委托给控制器.
>控制器通过视图上的访问器访问表,并执行更新.
>模型在更新时会通知JTable它已更改.
如果视图中的任何其他组件显示表中的数据,则可以通过在JTable的表模型上注册侦听器来解决.
更新1
我一直在根据MVC模式来考虑现有代码,并且已经重新绘制了一些关系.关键在于,控制器是视图的行为,因此控制器在用户执行填充操作时会更新模型,并且视图会侦听模型中的更改.但是,MVC模式中的任何内容都不能阻止视图通过表模型监听模型-对吗?
现在,用户单击添加按钮.该视图通知控制器单击了添加按钮,并且控制器通过在模型上调用某种方法来负责创建新项目.该视图(通过表模型)注册为模型的侦听器,并更新其视图.在需要照顾禁用或锁定字段的情况下,控制器也可以是模型的侦听器.我还没有实现MVC的全部功能吗?关注点分离?据我所知,我什至引入了适配器模式来将视图与模型进一步分离?天色已经晚了,我很累,所以这也许是有道理的:-)
解决方法:
在一般意义上,我建议您以下几点:
>看一下JGoodies Binding,
它不是MVC,但使用
“ PresentationModel”模式
我认为这更好
适应整个应用比
MVC(我认为适合
仅单个小部件).这应该
解决您之间的问题
Domanin模型和TableModel
>如果您的应用程序只有表格,
然后GlazedLists也使
很有道理:它也会隔离
您的域模型
TableModel(但不强制执行
任何全局模式(MVC或PM)
关于您显示的当前设计,我宁愿建议视图向控制器请求视图将分配给“删除”按钮的操作.然后,控制器可以对域模型进行操作.
内容总结
以上是互联网集市为您收集整理的java-将MVC模式应用于现有应用程序全部内容,希望文章能够帮你解决java-将MVC模式应用于现有应用程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。