一个好的Web开发框架应该具备以下几点:
- 减轻开发者处理复杂问题的负担;
- 内部有良好的扩展;
- 并且有一个支持它的强大的用户团体。
三层架构:表示层、业务层、持久层。即Struts2+Spring2+Hibernate3。
表示层(The Presentation Layer)
表示层使用Struts2。 Struts2和Struts1.x的差别主要是Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。而Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取,就是说struts2不需要formBean。另外,struts2的Action测试不用依赖于servlet容器。
下面是Struts所负责的:
* 管理用户的请求,做出相应的响应。
* 提供一个Controller ,委派调用业务逻辑和其它上层处理。
* 处理异常
* 为显示提供一个模型
* UI验证。
持久层(The Persistence Layer)
持久层通常是程序最容易失控的地方。开发者总是低估构建他们自己的持久框架的挑战性。Hibernate为java提供了ORM持久化机制和查询服务, 它还给已经熟悉SQL和JDBC API 的Java开发者一个学习桥梁,上手很方便。 Hibernate的持久对象是基于POJO和Java collections。象Hibernate这类的高级ORM框架支持大部分主流数据库,并且他们支持 Parent/child关系,事物处理,继承和多态。此外,使用Hibernate并不妨碍你正在使用的IDE。
业务层(The Business Layer)
业务层从编码的视角来看,是最容易被忽视的一层。而我们却往往在UI层或持久层周围看到这些业务处理的代码,这其实是不正确的,因为它导致了程序代码的紧密偶合,很难维护。Spring它着手于‘依赖注射’(dependency injection)(还有我们知道的‘控制反转’Inversion of Control=IoC)这样的简单概念。 Spring把程序中所涉及到包含业务逻辑和Dao的Objects——例如transaction management handler(事物管理控制)、Object Factoris(对象工厂)、service objects(服务组件)——都通过XML来配置联系起来。
0 Comments:
发表评论