`
coolszy
  • 浏览: 1407444 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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. 如果不是非常特别的需要,尽量不要过多的使用代码生成工具。代码生成工具能够极大的提高编程效率,但是,如果不熟悉生成工具所采用的组件及配置,那么尽量不要使用,当生成的大量代码不能根据你的定制化复用或工作时,相信你只有欲哭无泪了。
4
2
分享到:
评论

相关推荐

    J2EE系统架构师参考手册

    J2EE系统架构师参考手册写给技术架构师和那些从事系统设计、领导J2EE应用开发的资深开发者。通过大量的指导性策略、忠告、技巧和最佳实践等,帮助架构师领导从需求分析到项目部署的整个开发过程。

    J2EE架构学习者的6个最佳实践

    虽然许多文章曾经讨论过J2EE最佳实践。那么,为什么我还要再写一篇文章呢?本文究竟与以前的文章有何不同或者说比其他文章好在哪呢? 首先,本文的目标读者是正在从事技术工作的架构师。为了避免浪费大家的才智,我...

    基于Java和SSH的企业级Web应用开发框架设计源码

    本资源提供了一套基于Java和SSH的企业级Web应用开发框架设计源码,包含...提供J2EE相关主流开源技术架构整合及一些企业应用基础通用功能和组件的设计实现的最佳实践和原型参考,非常适合用于学习和参考Java项目的开发。

    Java Enterprise Framework

    JEF介绍 <br> Sun's Java Enterprise Framework (JEF)是一个企业级的应用框架,是Sun公司基于其在全球项目中多年的实践经验,总结出来的一套在应用架构、设计和实施上的最佳实践方法。这个多层的、多级的、面向...

    深入解析Spring+MVC与Web+Flow.pdf

    书中包含了一些开发良好设计和解耦的Web 应用程序的最佳实践,介绍了Spring 框架中的Spring MVC 和Spring Web Flow,以及着重介绍利用Spring 框架和Spring MVC 编写Web 应用程序的最佳方法。《深入解析Spring MVCgn ...

    Rational统一过程RUP裁剪使用贴近中、小型软件开发项目

    火龙果软件工程技术中心 对于中、小规模的软件项目,开发团队的规模不是很大。软件的开发周期也比较短。在这种情况下,完全...此外,J2EE技术结合了软件设计中的最佳实践(bestpractices),如以架构为中心的软件体系

    在你的代码中自动实现设计规范

    作为一个J2EE架构师,我需要分发详细设计给项目团队。通过UML模型,我也会分发那些捕获最佳实践的设计规范。例如,在Struts应用中,我推荐避免在Action类中使用实例变量,因为Action类是单例的,而且多个线程同时...

    Java_EE企业应用实战SSH(第三版)-part3

    国内知名的高端IT技术作家,已出版《Spring2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts2权威指南》、《RubyOnRails敏捷开发最佳实践》等著作。 目录 第1章JavaEE应用和开发环境 1.1...

    Java_EE企业应用实战SSH(第3版)-part2

    国内知名的高端IT技术作家,已出版《Spring2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts2权威指南》、《RubyOnRails敏捷开发最佳实践》等著作。 目录 第1章JavaEE应用和开发环境 ...

    Java_EE企业应用实战SSH(第3版)-part1

    国内知名的高端IT技术作家,已出版《Spring2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts2权威指南》、《RubyOnRails敏捷开发最佳实践》等著作。 目录 第1章JavaEE应用和开发环境 ...

    javaweb投票系统源码-s2jh:基于Struts/Spring/JPA/Hibernate和jquery/bootstrap的企业系统J

    集结最新主流时尚开源技术的面向企业级Web应用的基础开发框架,提供一个J2EE相关主流开源技术架构整合及一些企业应用基础通用功能和组件的设计实现的最佳实践和原型参考。 以下两个站点代码和文档同步更新,请自由...

    java三大框架

    ·一个容易使用的框架可以通过一些例子和文档为用户提供最佳实践。 ·采用成功的框架的代码比自己的代码容易测试 J2EE本身提供了一些框架。比如, Enterprise Java-Beans (EJB) container或者 Servlet engine 而...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

     国内知名的高端IT技术作家,已出版《Spring 2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。 目录: 第0章 学习Java...

    asp.net知识库

    翻译MSDN文章 —— 泛型FAQ:最佳实践 Visual C# 3.0 新特性概览 C# 2.0会给我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 C#2.0 - Object Pool 简单实现 Attributes in C# 手痒痒,也来个c# 2.0 object ...

Global site tag (gtag.js) - Google Analytics