J2EE项目架构最佳实践
J2EE项目架构最佳实践
基于项目的最差实践,可以总结出一套项目架构的最佳实践原则以便今后的复用和改进。
原则1. 时间总是非常紧,需求总是在变化,技术问题总是层出不穷,千万不要认为软件工程的问题不会发生在规范的公司和项目。每次一定要根据自己所处的位置作出正确的评估,比如项目经理做评估要留出足够的时间buffer,开发人员应当正确评价自己的工作量,尽可能开始工作。
原则2. 项目架构必须得完成基本的内容,即使时间非常的紧迫。以一个三层架构的企业级网站来说,数据库建模,页面流程图和业务逻辑的sequence图是必须的。
原则3. 数据库模型一定要尽早考虑,,无论是采用DDD还是TDD,数据库都是基石,尤其是采用hibernate这样的工具,数据库的建立意味着可以采用工具生成PO, DAO,那意味着你已经完成了20%的工作。
原则4. 使用中间的业务逻辑层。常常看到Action中直接调用dao编写业务逻辑的例子,这样做并非不可以,在一些小型的项目中能够节省时间,但在大型项目中,业务逻辑集成在action会导致可维护性变差,举例而言,比如客户临时变更需求需要将某项业务逻辑作为web service对外发A布;而后者的优势就显现了,只需要添加额外的包,重启运行测试的工作不涉及新包以外的代码,当然也就能减少系统的故障率。
原则5. 对中间的业务逻辑层,采用面向接口编程。很多人不知道spring提倡的面向接口编程在哪里使用,于是到处都用,事实上,使用得不好常常会因为接口和实现的变动而造成困扰,正确的做法是:将业务逻辑抽象出来作为接口,这套接口一定要像数据库一样千锤百炼,好的接口能更好的适应变化。业务逻辑层的稳固有助于工作的分离和解耦,一旦接口定义出来,开发struts和业务逻辑的人就可以分开并行工作,并且相互的变动不会受到影响,被非常好的分离了,所以,中间的业务层接口定义,是第二层基石,与数据库一起构成了三层结构,二层基石。
原则6. 美工页面要先于编写jsp完成。虽然说MVC的使用有助于分离美工与开发者,但是有的工作未必能完全并行,美工的页面需要基于pageflow完成,而页面的布局和样式需要得到客户认可,因此一定要尽早引入美工,当美工完成静态页面时,开发jsp才不会浪费时间,否则,常常会因为页面而影响到控制逻辑。
原则7. 采用统一的架构,预先写好基础代码。统一架构对于项目的可维护性尤为重要,比如读取日志,读取配置,基础DAO,基础ACTION,基础FORM等等。基础的架构减少了不必要的重复工作,加快了项目开发速度,其重要层度,是我每次都必然强调的。也正因为如此,该文章的系列将会连载架构一个项目的基础代码。
原则8. 如果不是非常特别的需要,尽量不要过多的使用代码生成工具。代码生成工具能够极大的提高编程效率,但是,如果不熟悉生成工具所采用的组件及配置,那么尽量不要使用,当生成的大量代码不能根据你的定制化复用或工作时,相信你只有欲哭无泪了。
相关推荐
cywhoyi 2020-11-23
rise 2020-11-22
sssdssxss 2020-11-20
xuedabao 2020-11-19
alien 2020-11-15
JLow 2020-11-12
ruancw 2020-11-10
地平线 2020-11-02
yinren 2020-11-02
evolone 2020-10-29
liupengqwert 2020-10-28
acaoye 2020-10-27
jyj0 2020-10-27
ruancw 2020-10-27
JAVA飘香 2020-10-26
withjeffrey 2020-10-23
litefish 2020-10-16
richermen 2020-10-15
kjyiyi 2020-10-10