层次系统介绍与举例

层次系统介绍与举例

ID:39580269

大小:538.01 KB

页数:26页

时间:2019-07-06

层次系统介绍与举例_第1页
层次系统介绍与举例_第2页
层次系统介绍与举例_第3页
层次系统介绍与举例_第4页
层次系统介绍与举例_第5页
资源描述:

《层次系统介绍与举例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、层次系统介绍与举例袁国泉2010.3.层次系统简介OSI七层结构TCP/IP四层结构典型结构1每个层次是一个独立的组件。它的责任是:提供了由上层使用的服务,并且委派任务给下一层次。需要防止较高层次直接越级访问较低层次。层次N层次N-1层次1客户使用典型结构2每个独立层可能由多个不同的相对独立的实体组成。这些实体之间可能也有相互调用的关系。可以通过层的接口保护层次之间的封装特性。Layer1组件_1.1组件_1.2组件_1.3Layer2组件_2.1组件_2.2组件_2.3Layer3组件_3.1组件_3.2组件_3.3分层系统优点和目标层的重用标准化支持局

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

3、据库HTML、JSP、JS、CSS、StrutsStruts的ControllerHibernateJava、SpringOracle包的概要介绍表现层:WebRoot控制层:com.puzhen.struts.action业务层:com.puzhen.services持久层:com.puzhen.daocom.puzhen.hibernate.artifacts包的详细介绍包的详细介绍(cont.)配置文件介绍(.xml文件)web.xml:Web应用的配置文件struts-config.xml:Struts框架的配置文件applicationConte

4、xt.xml:Spring框架的配置文件***.hbm.xml:Hibernate框架的配置文件分层时要注意的地方1、上层总是依赖其下层,依赖关系不跨层。2、表现成除外,同一层之间方法不允许相互调用。这是实际开发中一些开发者容易范的错误!如果真是同一层之间存在方法调用,需要注意,这些调用都是一些上层不可见方法,比如一些工具方法等。3、一切从服务层出发,从系统需要提供的功能进行分析,确定Service接口中的方法。而不是从数据库的表出发,创建DAO,再创Domain,然后Service,这实际上是对系统分层的误解。4、系统最核心的设计就是将系统中的实体划分为

5、领域模型。在此基础上设计数据的DAO层,并将这些活动暴露给服务层,服务层的实现依赖于领域活动。5、每个接口的职责范围明确有界。分层系统之利器接口分离控制反转对象-关系映射接口分离接口分离原则ISP(InterfaceSegregationPrinciple)采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。如果你拥有一个针对多个客户的类,为每一个客户创建特定业务接口,然后使该客户类继承多个特定业务接口将比直接加载客户所需所有方法有效。模块的替换性和修改性Facade模式GOF《设计模式》对Facade模式是这样描述:为子系统中的一组

6、接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。Facade模式的要点:1、从客户程序的角度看,Facade模式不仅简化了整个组件系统的接口,同时对于组件内部与外部客户程序来说,从某种程度上也达到了一种“解耦”的效果——内部子系统的任何变化不会影响到Facade接口的变化。2、Facade设计模式更注重从架构的层次去看整个系统,而不是单个类的层次。Facade很多时候更是一种架构设计模式。控制反转Spring框架IoC(InversionofControl)又称“依赖注入”(DependenceInjection)Jav

7、a反射机制IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。其原理是基于OO设计原则的TheHollywoodPrinciple:Don'tcallus,we'llcallyou(别找我,我会来找你的)。也就是说,所有的组件都是被动的(Passive),所有的组件初始化和调用都由容器负责。组件处在一个容器当中,由容器负责管理。理解IoCIoC解耦过程USB接口和USB设备拿掉IoC容器后的系统电脑主机不会关心USB接口上连接的是什么外部设备,而且它确

8、实也无需知道。它的任务就是读取USB接口,挂接的外部设备只要符合U

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。