Model (POJO) driven GUI framework 讨论

在框架问题上, 我们不提倡经朝三暮四, 也不提倡从一而终.


现在流行POJO, 有人甚至命名为naked bean(裸奔?), 从hibernate/spring到EJB3, 大家都在裸奔. EJB3甚至连原来厚重的大棉袄都没脱就扑通一声跳下水.

还有一个好玩的东西就是xml, 叫嚣了10年, 最终大家发现这玩意费时费力, 费神, 但是赚钱赚吆喝. 多少程序员把本来挺好的程序改成基于xml的配置, 然后使劲的调试. 这些xml客户不需要写, 最终把自己累坏了. 为什么微软的产品里面到处都是xml? 没错, 但是人家还有图形设计工具啊, xml是生成的.

Annotation作为桥梁, 可以这两个问题, 把配置写到程序里面, 让POJO(Entity)本身提供配置描述, 来驱动框架生成完整应用.

企业应用, 80%是烦人的重复的只有20%技术含量的增删改查之类的东西. 强壮的框架就是要覆盖这里无聊的部分, 几个可重载的重要组件, 甚至全部基本流程. 去掉的来源, 就是标注过的POJO.

Entity bean+JSR303可以提供: 存储/验证信息. 还需要额外定义(应该有个JSR标准):
说明: 标题/帮助/i18n
控件: dropdown还是radio
视图: 每个视图下的tab/group/order
Rule: 联动关系等 (涉及到逻辑验证)

有了标注过的POJO, 驱动出Swing/Web/CLI(命令行)都不难.

不是MDA, 是纯POJO+Annotation.

现在已有一些Modal driven的框架,大多数基于web, 少数还支持swing. 参考:[url=http://java.dzone.com/articles/automatic-user-interface]OpenXava[/url],注意后面的相关链接.

Tips:
复杂case怎么办? 扩展通用实现
Annotation太多怎么办? 把视图定义和rule独立出来, 把说明部分放到资源文件, 做个插件把bean当成表格看
还想偷懒怎么办? MVC/资源/缺省命名约束
why annotation? IDE support


每个公司都有框架的喜悦和烦恼, 欢迎大家来探讨一下.
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值