• 印度总理寓所附近现UFO?网友:外星人也想看莫迪 2019-05-21
  • 人民网评:建设一支生态环境保护铁军 2019-05-21
  • 这三个史无前例,让美国有点懵了 2019-05-18
  • 唐嫣蜡像入驻上海杜莎夫人蜡像馆--旅游频道 2019-05-18
  • 生活调查:过午不食可以养生减肥是真的吗? 2019-05-18
  • 自由之战2新奇玩法MOBA游戏与手柄的新时代? 2019-05-16
  • 姚晨马伊琍首次对戏大银幕 2019-05-16
  • 雨中赛龙舟 今天想看的快去曲江池吧! 2019-05-15
  • 2018 Yorkville Exotic Car Show kicks off in Toronto - Culture News - CQNEWS 2019-05-15
  • 中国古人认定:从地里所生长出来的所有生命物体都是神恩赐给人类的,人类更需要寻找机会向神祈求恩赐才能足食丰衣。这也就是中国古人认定的一个人一生所应该有的幸福。 2019-04-27
  • 两岸人才对接活动厦门举行 2019-04-27
  • “洞若观火”说过头了,感觉并没有观到“火”。 2019-04-23
  • 美醉酒女子把头塞进卡车排气筒被困 消防员解救 2019-04-23
  • 为山西公安“一网通一次办”点赞 2019-04-22
  • 奥委会将办特殊乒乓赛:钦点马龙丁宁 福原爱复出 2019-04-21
  • 北京市冰球协会地点:

    北京 切换校区

    全国24小时免费热线

    400-009-1906

    J2EE的表现层、持久层、业务层

    时间:2018-11-22   来源:尚学堂   阅读:251

    ? ? ? ?为了实现web层(struts)和持久层(Hibernate)之间的松散耦合,我们采用业务代表(Business Delegate)和DAO(Data Access Object)两种模式。DAO模式为了减少业务逻辑和数据访问逻辑之间的耦合,当一个持久曾框架被应用时,该模式将会减少业务对象和该框架之间的耦合,这样我们可以不修改业务对象而选择不同的持久层框架的实现。实际上在DAO模式中包含两种结构模式:桥(Bridge)模式和适配器(Adaptor)模式。?

    ? ? ? ?对表现层,我们使用?Struts?;业务层使用?Spring?;对于持久层我们使用的是?Hibernate?。你尽可以取代这里的某个框架而使用你喜欢的框架已达到同样的效果。下图显示了框架被整合起来时,从最高层次看到的视图。

    ? ? ? ?应用层 ? ?

    ? ? ? ?许多设计良好的web应用,可以被按职责分为四层。这些层次是表现层、持久层、业务层、和领域模型层。每一个层次都有其独特的职责,不能把各自的功能与其它层次相混合。每一个应用层都应该和其它层隔离开来,但允许使用接口在层间进行通信。我们开始来看看每个层,并讨论一下它们各自都应该提供什么和不应该提供什么。

    ? ? ? ?表现层

    ? ? ? ?一个典型的web 应用的末端是表现层。许多Java 开发者都知道Struts提供了什么东西。然而,太多时候,耦合代码比如业务逻辑被放进org.apache.struts.Action中。所以,我们先总结一下Struts之类的框架应该提供什么。下面就是Struts 的职责所在:

    ? ? ? ?1.管理用户的请求和响应

    ? ? ? ?2.提供一个控制起来将调用委托到业务逻辑和其他上游处理

    ? ? ? ?3.将来自于抛出例外的其他层的例外处理到Struts Action 中

    ? ? ? ?4.组装可以在视图中表现的模型对象

    ? ? ? ?5.执行UI 校验

    ? ? ? ?下面是一些经??梢允褂肧truts进行编码但是不应该和表现层关联的事情:

    ? ? ? ?1.直接和数据库交互,比如JDBC 调用

    ? ? ? ?2.与应用相关的业务逻辑和校验

    ? ? ? ?3.事务管理

    ? ? ? ?在表现层中引入这些类型的代码将导致类型耦合和维护负担。

    ? ? ? ?持久层

    ? ? ? ?一个典型Web应用的另一端是持久层。这也是应用中最容易很快失控的地方??⒄咄ǔ5凸懒俗约汗菇ㄗ约旱某志貌憧蚣艿奶粽?。一个定制的,内部开发的持久层不仅需要大量的开发时间,并且通常缺乏功能和难以管理。目前有许多解决这些问题的开源对象关系映射 (ORM) 框架。特别地,Hibernate 框架就允许Java中的对象-关系的持久性和查询服务。Hibernate 对已经熟悉了SQL 和JDBC API的Java开发者来或具有中度的学习曲线。Hibernate 的持久对象基于POJO和Java群集(collections)。此外,使用Hibernate 不和你的IDE接口。下面列出了你需要在持久性框架中编写的代码类型:

    ? ? ? ?1.查询关系信息到对象中。Hibernate是通过称为HQL的OO查询语言,或者使用更有表现能力的规则API,来完成这个工作的。除了使用对象而不是表,使用字段而不是列的方式,HQL非常类似于 SQL。也有一些新的特定的HQL 语言特征需要学习;但是,它们是很容易理解和良好编写的。HQL是一种用于查询对象的自然语言,而对象,只需要很少的学习曲线吧。

    ? ? ? ?2.存储、更新和删除存储在数据库中的信息

    ? ? ? ?3.高级的对象关系映射框架比如Hibernate支持大部分主流SQL数据库,它们支持父/子关系,事务,继承和多态。

    ? ? ? ?下面是应该在持久层避免的一些事情:

    ? ? ? ?1.业务逻辑应该置于应用的更高层中。这里只允许数据访问方法。

    ? ? ? ?2.不应该使持久逻辑和表现逻辑耦合。避免表现组件如JSP或者基于servlet的类中的逻辑直接和数据访问进行通信。通过将持久性逻辑隔离在其自己的层中,应用将具有更加灵活的修改性而不影响到其他层的代码。例如, Hibernate可以使用其他持久框架和API代替,而不需要修改其它层中的代码。

    ? ? ? ?业务层应该负责下面的问题:

    ? ? ? ?1.处理应用的业务逻辑和业务校验

    ? ? ? ?2.管理事务

    ? ? ? ?3.允许与其他层进行交互的接口

    ? ? ? ?4.管理业务级对象之间的依赖性

    ? ? ? ?5.加入了表现和持久层之间的灵活性,以便它们不需要彼此进行直接通信

    ? ? ? ?6.从表现层暴露上下文给业务层以获得业务服务

    ? ? ? ?7.管理从业务层到表现层的实

     

    相关资讯

    • 北京校区
    • 山西校区
    • 郑州校区
    • 武汉校区
    • 四川校区
    • 长沙校区
    • 深圳校区
    • 上海校区
    • 广州校区
    • 保定招生办

    北京海淀区校区(总部):北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
    北京京南校区:北京亦庄经济开发区科创十四街6号院1号楼 赛蒂国际工业园
    咨询电话:400-009-1906 / 010-56233821
    面授课程: JavaEE培训、 大数据就业班培训、 大数据云计算周末班培训、 零基础大数据连读班培训、 大数据云计算高手班培训、 人工智能周末班培训、人工智能+Python全栈培训、 H5+PHP全栈工程师培训

    山西学区地址:山西省晋中市榆次区大学城大学生活广场万科商业A1座702

    郑州学区地址:河南电子商务产业园6号楼4层407
    咨询电话:0371-55177956

    武汉学区地址:湖北省武汉市江夏区江夏大道26号 宏信悦谷创业园4楼
    咨询电话:027-87989193

    四川学区地址:成都市高新区锦晖西一街99号布鲁明顿大厦2栋1003室
    咨询电话:028-65176856 / 13880900114

    网址://www.cssxt.com/
    咨询电话:0731-83072091

    深圳校区地址:深圳市宝安区航城街道航城大道航城创新创业园A4栋210(固戍地铁站C出口)
    咨询电话:0755-23061965 / 18898413781

    上海尚学堂松江校区地址:上海市松江区荣乐东路2369弄45号绿地伯顿大厦2层
    咨询电话:021-67690939

    广州校区地址:广州市天河区元岗横路31号慧通产业广场B区B1栋6楼尚学堂(地铁3号线或6号线到“天河客运站”D出口,右拐直走约800米)
    咨询电话:020-2989 6995

    保定招生办公室

    地址:河北省保定市竞秀区朝阳南大街777号鸿悦国际1101室

    电话:15132423123

    Copyright 2006-2019 北京尚学堂科技有限公司  京ICP备13018289号-19  京公网安备11010802015183  
    媒体联系:18610174079 闫老师  

    Java基础班,免费试学三周

  • 印度总理寓所附近现UFO?网友:外星人也想看莫迪 2019-05-21
  • 人民网评:建设一支生态环境保护铁军 2019-05-21
  • 这三个史无前例,让美国有点懵了 2019-05-18
  • 唐嫣蜡像入驻上海杜莎夫人蜡像馆--旅游频道 2019-05-18
  • 生活调查:过午不食可以养生减肥是真的吗? 2019-05-18
  • 自由之战2新奇玩法MOBA游戏与手柄的新时代? 2019-05-16
  • 姚晨马伊琍首次对戏大银幕 2019-05-16
  • 雨中赛龙舟 今天想看的快去曲江池吧! 2019-05-15
  • 2018 Yorkville Exotic Car Show kicks off in Toronto - Culture News - CQNEWS 2019-05-15
  • 中国古人认定:从地里所生长出来的所有生命物体都是神恩赐给人类的,人类更需要寻找机会向神祈求恩赐才能足食丰衣。这也就是中国古人认定的一个人一生所应该有的幸福。 2019-04-27
  • 两岸人才对接活动厦门举行 2019-04-27
  • “洞若观火”说过头了,感觉并没有观到“火”。 2019-04-23
  • 美醉酒女子把头塞进卡车排气筒被困 消防员解救 2019-04-23
  • 为山西公安“一网通一次办”点赞 2019-04-22
  • 奥委会将办特殊乒乓赛:钦点马龙丁宁 福原爱复出 2019-04-21
  • 中国体彩网2012112 足彩合买 重庆欢乐生肖走势图乐彩网 北京pk10大特秘籍 体彩山东时时彩 排列组合公式 pk10怎么玩才能稳赚100 怎么看五分彩走势图 双色球复式 七星彩号码规律 加拿大快乐8开奖预测 赛马会官方网站 彩票排列3开奖号码 北京pk10在线计划更新 欢乐生肖怎么玩 极速时时彩输惨了