框架选择及其分析
对于实验一程序开发的框架,我选择的是ssh framework框架。
SSH框架:
具体来说应该是:struts2.0+spring3.2+hirbnate2.5
典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。
表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。
中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。
Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。
Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。
DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。
PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。
Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。
一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。框架通常能很好的解决一个问题。然而,你的应用是分层的,可能每一个层都需要各自的框架。仅仅解决UI问题并不意味着你能够很好的将业务逻辑和持久性逻辑和UI 组件很好的耦合。
下面简单介绍三层结构的优点:
开源是3个框架共有的优点
Struts2框架(MVC框架)的优点如下:
1) 实现了MVC模式,层次结构清晰,使程序员只需关注业务逻辑的实现;
2) 丰富的标签库,大大提高了开发的效率;
3) Struts2提供丰富的拦截器实现
4) 通过配置文件,就可以掌握整个系统各个部分之间的关系;
5) 异常处理机制,只需在配置文件中配置异常的映射,即可对异常做相应的处理;
Spring框架的优点如下:
1) 无入侵性(在业务逻辑代码中感觉不到Spring框架的存在);
2) 各个组件之间的耦合极为松散;
3) 无需程序员自己实现singleton模式;
4) 通过AOP,可以实现事务管理和日志管理;
5) 整合其他的框架,如:struts框架和hibernate框架;
Hibernate框架(ORM框架)的优点如下:
1) 对象/关系数据库映射(ORM), 使用时只需操纵对象,使开发更加面向对象化;
2) 无入侵性;
3) 简洁的HQL语句,减少了JDBC与SQL操作数据库的代码量;
4) 移植性好;
以上就是我选择ssh框架开发本次试验程序的原因。