03级本科论文答辩37.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
层次系统介绍与举例 2010.3. 层次系统简介 OSI 七层结构 TCP/IP 四层结构 典型结构1 每个层次是一个独立的组件。它的责任是:提供了由上层使用的服务,并且委派任务给下一层次。 需要防止较高层次直接越级访问较低层次。 层次N 层次N-1 层次1 客户 使用 典型结构2 每个独立层可能由多个不同的相对独立的实体组成。这些实体之间可能也有相互调用的关系。 可以通过层的接口保护层次之间的封装特性。 Layer1 组件_1.1 组件_1.2 组件_1.3 Layer2 组件_2.1 组件_2.2 组件_2.3 Layer3 组件_3.1 组件_3.2 组件_3.3 分层系统优点和目标 层的重用 标准化支持 局部依赖特性 可替换性 层间低耦合、层内高内聚 设备管理信息系统总体功能 先分模块,再分层 系统概述 本系统采用JavaEE平台开发 集成Struts、Spring、Hibernate框架 后端采用Oracle数据库 用到的工具和平台 开发工具:MyEclipse 开发平台:JavaEE、JRE1.6; Struts1.3、Spring2、Hibernate3.1 版本控制工具:CVS Web服务器:Tomcat 数据库服务器:Oracle JavaEE中典型的分层结构 表现层 控制层 持久层 业务层 数据库 前台页面展示 分发请求、 处理业务逻辑 提供数据库支持 系统架构 用到的技术 表现层 控制层 持久层 业务层 数据库 HTML、JSP、JS、CSS、Struts Struts的Controller Hibernate Java、Spring Oracle 包的概要介绍 表现层: WebRoot 控制层: com.puzhen.struts.action 业务层: com.puzhen.services 持久层: com.puzhen.dao com.puzhen.hibernate.artifacts 包的详细介绍 包的详细介绍(cont.) 配置文件介绍(.xml文件) web.xml:Web应用的配置文件 struts-config.xml: Struts框架的配置文件 applicationContext.xml: Spring框架的配置文件 ***.hbm.xml:Hibernate框架的配置文件 分层时要注意的地方 1、上层总是依赖其下层,依赖关系不跨层。 2、表现成除外,同一层之间方法不允许相互调用。这是实际开发中 一些开发者容易范的错误!如果真是同一层之间存在方法调用,需要 注意,这些调用都是一些上层不可见方法,比如一些工具方法等。 3、一切从服务层出发,从系统需要提供的功能进行分析,确定 Service接口中的方法。而不是从数据库的表出发,创建DAO,再创 Domain,然后Service,这实际上是对系统分层的误解。 4、系统最核心的设计就是将系统中的实体划分为领域模型。在此基 础上设计数据的DAO层,并将这些活动暴露给服务层,服务层的实现 依赖于领域活动。 5、每个接口的职责范围明确有界。 分层系统之利器 接口分离 控制反转 对象-关系映射 接口分离 接口分离原则ISP (Interface Segregation Principle) 采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。 如果你拥有一个针对多个客户的类,为每一个客户创建特定业务接口,然后使该客户类继承多个特定业务接口将比直接加载客户所需所有方法有效。 模块的替换性和修改性 Facade模式 GOF《设计模式》对Facade模式是这样描述: 为子系统中的一组接口提供一个统一接口。 Facade模式定义了一个更高层的接口,使子系 统更加容易使用。 Facade模式的要点: 1、从客户程序的角度看,Facade模式不仅简化了整个组件系统的接口,同时对于组件内部与外部客户程序来说,从某种程度上也达到了一种“解耦”的效果——内部子系统的任何变化不会影响到Facade接口的变化。 2、Facade设计模式更注重从架构的层次去看整个系统,而不是单个类的层次。Facade很多时候更是一种架构设计模式。 控制反转 Spring框架 IoC(Inversion of Control) 又称“依赖注入”(Dependence Injection) Java反射机制 IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。 其原理是基于OO设计原则的The Hollywood Principle:Dont call us, well call you(别找我,

文档评论(0)

开心就好 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档