实验一框架选择及其分析

框架选择及其分析

对于实验一程序开发的框架,我选择的是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框架开发本次试验程序的原因。

时间: 2024-10-16 22:36:18

实验一框架选择及其分析的相关文章

实验一框架选择及其原因

实验一 框架选择及其原因 软件体系结构实验一我选择S2SH来开发应用系统.我来讲解一下 S2Sh的优点. Struts Struts2 是一个优秀的开源项目 ,能使开发者了解到内部的机制, Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(JSP)技术的Web应用时更加容易.Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑.Struts框架本身是使用Java Ser

实验一框架选择以及原因说明

我要做的事一个基于web的学生选课系统,我选择的框架式SSH框架. SSH框架介绍:SSH是Spring+Struts+Hibernate的集成框架.Spring的架构基础是基于使用javabean属性的Inversion of Control容器.Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的. Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误.Spring的数据访问架构还集成了Hibernate和其

YII框架源码分析(百度PHP大牛创作-原版-无广告无水印)

                        YII 框架源码分析             百度联盟事业部--黄银锋   目 录 1. 引言 3 1.1.Yii 简介 3 1.2.本文内容与结构 3 2.组件化与模块化 4 2.1.框架加载和运行流程 4 2.2.YiiBase 静态类 5 2.3.组件 6 2.4.模块 9 2.5 .App 应用   10 2.6 .WebApp 应用   11 3.系统组件 13 3.1.日志路由组件  13 3.2.Url 管理组件  15 3.3.异常

SSH框架jar包分析

Hibernate jar包 ================= 必要的包: hibernate3.jar,  这个是hibernate3.0的核心jar包,必须的,呵呵,没的选,像我们常用的Session,Query,Transaction都位于这个jar文件中,必要. cglib-2.1.3.jar, CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必要. asm.jar      ASM字节码库    如果使用"cglib"则必要,必要 asm-at

iOS常用框架源码分析

SDWebImage NSCache 类似可变字典,线程安全,使用可变字典自定义实现缓存时需要考虑加锁和释放锁 在内存不足时NSCache会自动释放存储的对象,不需要手动干预 NSCache的key不会被复制,所以key不需要实现NSCopying协议 第三方框架 网络 1.PPNetworkHelper 对AFNetworking 3.x 与YYCache的二次封装 简单易用,包含了缓存机制,控制台可以直接打印json中文字符 2..YTKNetwork 猿题库研发团队基于AFNetworki

网站后端_Python-网站开发.Python网站开发之版本选择与框架选择?

简单说明: 1. 由于Python具有快速开发,多人协作,库丰富,社区成熟等优点,国内豆瓣/知乎/搜狐/果壳/饿了吗,国外YouTube/Reddit/Instagram/Pinterest/Bitbucket/Disqus/Dropbox等都相继将其作为主力开发语言,所以完全不用担心它的可靠性与性能问题,因为它已受了时间和大规模用户并发访问的考验 2. 很多人以为只要学会某个Web框架,能写代码查查数据库,能写模版渲染出HTML,最多再学习一下配个WebServer把服务跑起来就完事儿,然而并

Scala框架选择

我所知道的Scala持久层框架有: 1.Slick 2.Squeryl 3.Anorm(Play的持久层) 4.ScalaActiveRecord (基于Squeryl之上) 5.circumflex-orm web框架的话 1.Spray(build on akka,完全异步,非阻塞,非常有前景,适合REST后端程序) 2.Play(还不是很习惯) 3.Scalatra(对akka,squeryl等都有现成集成,适合需要view层的) 4.Lift 我的选择: 1.对于api层 采用Spray

1、Android项目框架搭建 (分析需求、整理资料)

闲来无事.想搭个框架试试 分析一般应用 将资料整理整理 粗略统计 需要以下资料 1.android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新 ListView.ViewPager.WevView.ExpandableListView.GridView.(Horizontal )ScrollView.Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多.并且他实现的下拉刷新ListView在item不足一屏情况下也

实验三、 递归下降分析程序实验

实验三. 递归下降分析程序实验 专业 软件工程   姓名 麦振澎 学号 201506110162 一.        实验目的           通过设计,编制,调试一个递归下降语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构的分析. 二.        实验内容和要求 输入:源程序字符串 输出:正确或者错误 三.        实验方法.步骤及结果测试             1.      源程序名: 递归下降语法分析程序.c       2.      原理分析及流程图