层次系统介绍与举例.ppt

上传人:小飞机 文档编号:6466114 上传时间:2023-11-02 格式:PPT 页数:26 大小:468KB
返回 下载 相关 举报
层次系统介绍与举例.ppt_第1页
第1页 / 共26页
层次系统介绍与举例.ppt_第2页
第2页 / 共26页
层次系统介绍与举例.ppt_第3页
第3页 / 共26页
层次系统介绍与举例.ppt_第4页
第4页 / 共26页
层次系统介绍与举例.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《层次系统介绍与举例.ppt》由会员分享,可在线阅读,更多相关《层次系统介绍与举例.ppt(26页珍藏版)》请在三一办公上搜索。

1、层次系统 介绍与举例,袁国泉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,分层系统优点和目标,

2、层的重用标准化支持局部依赖特性可替换性层间低耦合、层内高内聚,设备管理信息系统总体功能,先分模块,再分层,系统概述,本系统采用JavaEE平台开发集成Struts、Spring、Hibernate框架后端采用Oracle数据库,用到的工具和平台,开发工具:MyEclipse开发平台:JavaEE、JRE1.6;Struts1.3、Spring2、Hibernate3.1版本控制工具:CVSWeb服务器:Tomcat数据库服务器:Oracle,JavaEE中典型的分层结构,表现层,控制层,持久层,业务层,数据库,前台页面展示,分发请求、处理业务逻辑,提供数据库支持,系统架构,用到的技术,表现层,

3、控制层,持久层,业务层,数据库,HTML、JSP、JS、CSS、Struts,Struts的Controller,Hibernate,Java、Spring,Oracle,包的概要介绍,表现层:WebRoot控制层:业务层:持久层:,包的详细介绍,包的详细介绍(cont.),配置文件介绍(.xml文件),web.xml:Web应用的配置文件struts-config.xml:Struts框架的配置文件applicationContext.xml:Spring框架的配置文件*.hbm.xml:Hibernate框架的配置文件,分层时要注意的地方,1、上层总是依赖其下层,依赖关系不跨层。2、表现成

4、除外,同一层之间方法不允许相互调用。这是实际开发中一些开发者容易范的错误!如果真是同一层之间存在方法调用,需要注意,这些调用都是一些上层不可见方法,比如一些工具方法等。3、一切从服务层出发,从系统需要提供的功能进行分析,确定Service接口中的方法。而不是从数据库的表出发,创建DAO,再创Domain,然后Service,这实际上是对系统分层的误解。4、系统最核心的设计就是将系统中的实体划分为领域模型。在此基础上设计数据的DAO层,并将这些活动暴露给服务层,服务层的实现依赖于领域活动。5、每个接口的职责范围明确有界。,分层系统之利器,接口分离控制反转对象-关系映射,接口分离,接口分离原则IS

5、P(Interface Segregation Principle)采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。如果你拥有一个针对多个客户的类,为每一个客户创建特定业务接口,然后使该客户类继承多个特定业务接口将比直接加载客户所需所有方法有效。模块的替换性和修改性,Facade模式,GOF设计模式对Facade模式是这样描述:为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。,Facade模式的要点:1、从客户程序的角度看,Facade模式不仅简化了整个组件系统的接口,同时对于组件内部与外部客户程序来说,从某种程度上

6、也达到了一种“解耦”的效果内部子系统的任何变化不会影响到Facade接口的变化。2、Facade设计模式更注重从架构的层次去看整个系统,而不是单个类的层次。Facade很多时候更是一种架构设计模式。,控制反转,Spring框架 IoC(Inversion of Control)又称“依赖注入”(Dependence Injection)Java反射机制,IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。其原理是基于OO设计原则的The Hollywood Principle:Dont c

7、all us,well call you(别找我,我会来找你的)。也就是说,所有的组件都是被动的(Passive),所有的组件初始化和调用都由容器负责。组件处在一个容器当中,由容器负责管理。,理解IoC,IoC解耦过程,USB接口和USB设备,拿掉IoC容器后的系统,电脑主机不会关心USB接口上连接的是什么外部设备,而且它确实也无需知道。它的任务就是读取USB接口,挂接的外部设备只要符合USB接口标准即可。,ORM,对象-关系映射(Object/Relation Mapping),ORM:是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数

8、据从一种形式转换到另外一种形式。典型ORM框架:Hibernate、iBatis,传统的三层架构,“基础结构层”:从实践的表现上来看,可能就是一些帮助类,比如SQLHelper,也可能是一些工具类,比如TextUtility。其被其它各层所访问。,基于分层的概念:表现层只能跟业务逻辑层打交道,而业务逻辑层在数据持久化方面的操作,则依赖于数据访问层。表现层对数据访问层的内容一无所知。,领域驱动设计(DDD:Domain-Driven Design),领域驱动设计将软件系统分为四层:基础结构层、领域层、应用层和表现层。与传统的三层架构相比,数据访问层已经不在了,它被移到基础结构层了。,领域层:包含了业务所涉及的领域对象(实体、值对象)、领域服务以及它们之间的关系。这部分内容的具体表现形式就是领域模型(Domain Model)。领域驱动设计提倡富领域模型,即尽量将业务逻辑归属到领域对象上,实在无法归属的部分则以领域服务的形式进行定义。,Q/A,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号