- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种Java快速开发框架的设计和实现
一种Java快速开发框架的设计和实现
2007.1.14 陈志武(zwchen, chenzhiwu@)
MiniFramework和业界已有的框架有什么特别之处吗? 1
你觉得MiniFramework能够真正提高生产率吗? 1
MiniFramework有哪些核心思想,或是原理? 2
1、 元数据编程 3
2、 领域对象的表示:Map和List 3
3、 Map和List对象的展现技术:JSTL 3
4、 Map 对象持久化技术:Hibernate 4
5、 对象数据查询技术:Spring JDBC Framework 4
6、 业务对象BO的CRUD抽象 4
7、 敏捷开发过程 4
你在MiniFramework中选择框架的依据是什么? 4
MiniFramework的架构,你能够大致描述一下吗? 5
用MiniFramework开发,它的驱动模式是什么? 6
MiniFramework现在很完善了吗? 6
你也知道,公司都是利润驱动的,MiniFramework对公司提高利润有那些帮助呢? 7
开发演示 7
这次,我采用对话,FAQ问答方式陈述,因为我觉得它更容易从用户角度去思考问题。
MiniFramework:就是我指的框架,或者说一种思想,Mini的意思是精悍,也就是说开发量小,代码少,开发快。
RoR:Ruby on Rails用Ruby语言写的Web开发框架,非常有潜力,号称比Java开发快10倍。
SSH:Struts(Webwork)+Spring+Hibernate,JavaWeb开发最流行的组合。
MiniFramework和业界已有的框架有什么特别之处吗?
从Java EE(J2EE)分层来划分,有分层和整合框架,譬如表示层的Struts,Webwork,JSF,持久层的Hibernate和IBatis,JDO。但整合的有Spring和PicoContainer容器。
从开发角度来说,有整合和快速代码生成,前者如AppFuse和SpringSide,后者如JET Emitter。我认为,这两者都没有去解决软件开发的复杂性,更多的只是减少了一点敲代码的时间,而不是减少理解代码的时间,而后者远远大于前者。
MiniFramework综合了上面两者,既是对分层各框架的整合,也是对框架的整合,但是,它会让你的代码量减少到原来的30%左右。更少的代码意味着可以更快开发和变更,更易实现敏捷过程。它是技术和过程的结合。
MiniFramework框架用到了Webwork+Spring+Hibernate,但是,对于开发人员,它们更像是封装好的类库,这意味着你需要了解它们很少,我只用其中我认为最值得的地方。并且是你会发现新的用法,就如同Tapestry框架在html标签中设指令。
MiniFramework是严格遵守MVC职责分离和分层架构的,并且很多都是自动的,譬如透明持久化,页面输入获取。遵循上面的约定,是因为我让它们成为项目开发最佳实践。
你觉得MiniFramework能够真正提高生产率吗?
高质量的软件,有三个因素:Team、Technology、Process:
Team:MiniFramework可以让开发人员避开技术引起的复杂性,而专注于业务,并且节省培训成本。
Technology:MiniFramework整合了流行框架最有价值部分,譬如Spring的事务处理和IoC,Hibernate的透明持久化,Webwork的control-view关系配置。
Process:MiniFramework让J2EE快速开发成为可能,改变了J2EE不适合敏捷过程的论断。敏捷,意味着快速开发,快速变更,快速响应需求。
MiniFramework将会对整个项目开发周期和流程都有很大的改进。
但是,客观的规律,如Brooks 20多年前所说:“没有银弹”。MiniFramework只能解决次要复杂性(Accident),而不能解决软件本质(Essence)复杂性。
原文如下:没有任何技术或管理上的进展,能够独立地许诺十年内使生产率、可靠性或简洁性获得数量级上的进步。
我认为,研究快速开发,必须先了解这个“没有银弹”理论。Brooks先生给我们提供了一些解决方案,很多现在都在用:
技术方面:
Ada和其它高级语言
OOP编程
人工智能和专家系统
“自动”编程
图形化编程和IDE工具
另外还有一些解决方案,我认为现在都在流行
购买构建 vs 自行开发
需求精炼和快速原型
增量开发
优秀的设计人员
但是,大多数企业应用,特别是外包项目,软件的本质复杂性并不大,因为应用软件,特别是商业软件毕竟不同于系统软件,技术往往不是根本的障碍,而是背后的商业需求(怎样才能够最大程度盈利?譬如业务流程再
您可能关注的文档
最近下载
- 新高考3500词汇表打印版 .pdf VIP
- 学校供餐服务质量保障承诺、违约责任承诺及保障措施(可编辑Word版).doc VIP
- 汽车发动机电控系统检修(高职版)全套教学课件.pptx
- 人民大2024战略管理(第13版)英文版PPT(1)david_sm13_ppt_credits.ppt VIP
- 十二经脉ppt课件.pptx VIP
- 汇银林泰:2025高端医疗发展白皮书.pdf
- 马蹄肾护理查房ppt课件.pptx VIP
- 中医诊断学六经辨证.ppt VIP
- 2025年深圳市宝安区松岗人民医院医护人员招聘笔试备考题库及答案解析.docx VIP
- 2025年深圳市宝安区松岗人民医院医护人员招聘笔试参考题库附答案解析.docx VIP
文档评论(0)