摘录:《为什么java世界没有真正的快速开发平台》

xdoclet

   1. 项目管理:可以使用maven或者ant,对于小一些的项目可以使用ant,对于项目管理的内容很多的可以考虑采用maven。
   2. 版本管理:基本上可以选定cvs。
   3. IDE:不用说,就是Eclipse了。
   4. 系统架构:以Spring为核心的架构应该是比较好的选择。
   5. 表现层:struts或者freemarker,这个可能选择性太多,除了struts外好像还没有哪一个有那么广泛的用户基础。
   6. ORM:Hibernate应该是现在的不二之选了。
   7. 辅助工具:xdoclet,可以根据项目的需要进行部分的内容的生成,减少很多手工的工作,也许应该有更多的缺省的扩展。
   8. 单元测试:Junit或者TestNG之类的,虽然有很多人说junit已经不那么好用了,但是对于一般的项目应该还是够用的。


核心其实是里面最不起眼的xdoclet
ant+eclipse+spring+hibernate+freemarker+xdoclet+css
编写POJO属性列表的时候增加hibernate配置信息,页面配置信息以及spring配置信息,一步到位生成全部的基础代码;已经为我们生成了系统的骨架,完成了很多烦琐的我们大部分人都不愿意做的枯燥工作

Comments:
很早就想过这个问题,JAVA领域可选的技术确实太多了,但是我认为实现一个快速开发环境,并不是因为可选技术太多造成的,而是跟开发思路有关,如何确定 一个开发思路(过程),确定其中所涉及到的各种因素,并对这些确定因素进行定制,就可能实现快速开发的目的。说白了,就是我们需要一个 能够描述软件的平台 无关的模型实体模型、业务模型、界面流程描述、界面元素描述等),根据这个模型,我们可以针对某些特定的流行的技术(比如 hibernate/spring之类的)利用 模板的功能进行自动生成。所以,如何创造一个 通用的软件描述模型,将会是最困难的部分。其实,在我们的开发 中,我们也已经在应用这种类似的思想,比如我们会利用velocity/xdoclet等来进行模板定义,但是毕竟还是跟 具体的技术挂钩,而没有 更高的抽 象描述

也许,这正是MDA之所以出现的原因,我相信MDA的方法将是未来软件开发的方向。

所以,我觉得在软件开发方面,所谓的自动生成,只是一种辅助手段,隐藏其中的软件模型,才是真正的跨平台、跨技术的可复用的部分。

author:
对,这个确实是一个问题,从工程的角度来看,我所讨论的只是辅助代码生成,而系统的架构还是需要另外设计的,采用什么方法没有限定。而我所讨论的,其实已 经暗含了一个设计方法: 模型驱动,因为这个是现有的各种技术中最大的共性,特别是java技术,现在都是 以Bean为核心,而bean其实就是模型的实 现。而MDA就是将模型驱动又提升了一个层次,从 设计层面到了 架构层面

你可能感兴趣的:(摘录:《为什么java世界没有真正的快速开发平台》)