- 1、本文档共157页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 面向对象设计 本章计划学时:8~10学时 本章主要内容 设计体系架构 分层模式 包 设计软件类 设计软件类 软件类的属性和方法 为类添加方法 泛化和关联的设计 对象持久化和数据库 设计原则和设计模式 9.1 面向对象的设计 面向对象分析和设计基于相同的模型,一般认为没有严格的阶段性和很明显的界限。 面向对象设计阶段还是有明确的目标,具体内容包括: 设计软件体系结构,定义系统的高层划分,确定主要组件及其接口。 详细设计软件类或接口。按照架构模式定义信息系统的边界类、控制类和实体类,详细设计类的属性和方法,设计程序执行的交互图。 设计数据库接口,解决面向对象模型到数据库模型的过渡。 9.2 设计软件体系结构 分层模式 包 子系统和接口 9.2.1 层 下层组件负责对上层组件提供服务。 上层组件可以使用下层组件定义的服务,但下层组件对上层组件一无所知。 层与层之间通常是不透明的,每一层都具有独立的职责 。 不同层的软件构件可以分布在多台机器上,也可以部署在同一台机器上 。 1、层的概念 自从C/S出现之后,软件就被分层了: Client端的软件完成前台任务,Server端的软件完成后台任务(一般是DB Server) Client使用Server端的服务,依赖于Server端 自从Internet出现之后,软件进一步分层: Client端的软件(IE浏览器)完成输入输出任务,Web Server上的程序提供业务逻辑处理,后台DB Server完成数据的存取 C/S常被称为传统的两层,B/S称为三层 本书的分层将不包含有关系统软件(如IE、DBMS等),仅讨论应用系统 2、分层模式 传统C/S,无明显分层 两层 三层 四层 多层 基本思想:将逻辑功能相似的类封装到一个组件中。 比如都是用于数据库访问的类做成数据库访问组件,所有表达销售领域对象的类做成销售组件。 传统的C/S应用程序 界面窗口程序中包含所有的内容,如输入输出、界面逻辑控制、业务逻辑运算等 经典的三层结构 经典的三层结构 表现层:处理用户和信息系统之间的交互。 可以是简单的命令行窗口,也可以功能完善的图形用户界面(胖客户端程序),如基于HTML的浏览器界面(瘦客户端程序)。 业务逻辑层:也称为领域层或应用层,是信息系统所有和领域相关的工作。 如根据输入数据或已有数据进行计算,依赖于数据访问层获取数据或保存数据,类库形式。 数据访问层:一般指与数据库的交互,主要责任是数据库记录的存取。 如专门的数据访问类 简化的层次结构 表现层 业务层+数据访问层 甚至简化成没有分层: 窗口程序=表现+业务逻辑+数据存储 程序几乎不能重用 扩展的四层结构 表现层:等同于三层中的表现层。 控制层/中介层:是表现层和领域层的中介层,也称应用控制器。主要表示业务逻辑中的工作流,一般针对于用例的事件流控制。此外还负责会话状态、数据的合成或分解等事务。 领域层:业务逻辑中的领域类的集合,不包含复杂工作流。 数据访问/数据映射层:负责将基于对象的领域层数据映射到数据库关系表中的记录。也称为数据持久层,可自行开发或采用持久化框架。 模型视图控制器架构MVC 模型:即相关的数据,它是对象的内在属性 视图:是模型的外在表现形式,一个模型可以对应一个或者多个视图,视图还具有与外界交互的功能 控制器:是模型与视图的联系纽带,控制器提取通过视图传输进来的外部信息转化成相应事件,然后由对应的控制器对模型进行更新; 相应的,模型的更新与修改将通过控制器通知视图,保持视图与模型的一致性 3、多层的物理配置 由于应用软件封装成不同层次的独立组件,这给软件部署带来了灵活性: 物理一层:所有应用软件的组件都安装配置在一台机器上。比如全部Web程序都在Web服务器上 物理两层:应用软件的组件配置在两台机器上,比如一部分安装在客户端,另一部分配置在应用服务器上 物理多层:客户端、一台或多台应用服务器、数据库服务器,即多台服务器的方式,这是分布式结构的一种形式。 4、多层体系结构的动机 客户对数据的访问通过中间层进行了隔离,数据库的安全性提高了 应用程序被分布部署在多个物理节点上,从而增强了处理大量的用户负载或计算任务的能力,系统可靠性和响应速度得到了提高 业务逻辑处于不同的中间服务器,当业务规则变化后,客户端程序基本不做改动,而且某一层的改动不会影响其他层,这也意味着更好的重用和可维护性 将不同层的开发任务在开发者之间适当地分配,有效地利用开发人员的专长和开发技巧,并且能够提高并行开发能力 9.2.2 包 包(package)是一种逻辑分组手段,可以取UML模型中的任何一种事物,将相关成分聚在一起,以构成更高层的组织单元——包。 最常用的方法是将类以包为单位进行分组,比如上一节提到的层,每一层中的所有类
您可能关注的文档
最近下载
- 第一章 2.2 水量平衡.ppt
- 《GB/T 19326-2022锻制支管座》.pdf
- 2022年11月陕西省从优秀村社区干部中考试录用200名乡镇街道机关公务员上岸冲刺卷I含答案详解版(3套).docx VIP
- 2020年银行业从业人员职业操守和行为准则.pdf VIP
- 转预备党员思想汇报【银行】.pdf VIP
- 【新教材】人教版(2024)七年级上册英语Unit 4 My Favourite Subject教案.docx
- 米厂恒温仓库工程设计方案.docx
- 2024年党校入党积极分子培训考试必考重点知识汇编(共160题).doc VIP
- 《世界经典神话与传说故事》 测试题及答案.pdf
- 智能制造设备安装与调试职业技能等级标准(2021年).pdf
文档评论(0)