- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主要内容 面向对象程序的详细设计 基于组件的程序设计方法 4.5.1面向对象程序的特性 封装性:类的封装性使得数据和操纵数据的算法(函数或过程)紧密地捆绑在一起,这样就可以使得操纵数据的函数或过程的作用域和可视性限制在软件系统的局部区域内。 继承性 在面向对象程序设计中,允许某个类继承其它类的成员函数或数据成员。被继承的类称为基类、父类或超类,继承的类称为派生类或子类。 多态性 多态性使得相关的类可有同名的函数,这个同名的函数根据不同类产生不同的结果。换言之,不同类的对象可以具有相同的接口,这些相同的接口自然会呈现出不同的行为。通过多态性程序设计,可以编写并编译代码以处理未知类型的对象。 4.5.2 设计原则 可复用性:保证方法的内聚性;减少一个方法的代码规模;保持方法对外接口的一致性;分离策略(控制)方法和实现方法;方法应均匀覆盖数据;加强封装性;减少方法的耦合性。 可扩展性:封装数据;封装方法内部的数据结构;避免情况分支语句;区分公有方法和私有方法。 健壮性 :防止输入错误 (围栏);把握优化代码的时机;检查参数的合法性;选择适当的实现方法。 协作性:对类进行详细的文档化;把类打包成模块;尽量使得代码容易理解;等等 详细设计描述:协作图(补) 特点 协作图和顺序图都可用来表示对象之间的交互关系,两种形式之间可以相互转换。 顺序图突出执行的时序,能更方便地看出事情发生的次序。而协作图的布局方法能更清楚地表示出对象之间的静态的连接关系。 与顺序图相比,协作图的绘图空间也要节省一些。 4.6 基于组件的程序设计方法 4.6.1 三层应用体系结构 4.6.2 CORBA对象总线技术 公共对象请求代理体系结构(Common Object Request Broker Architecture, CORBA)是由对象管理组织OMG制定的一个工业规范,其主要目标是提供一种机制,在此基础上,对象可以透明地请求和获得应答。 CORBA的实质是远过程调用与面向对象技术的有机结合。 OMG于1990年制订了OMA(Object Management Architecture),它可用任何方法来实现,CORBA是其中的一种实现方案。 OMA(层次结构) CORBA的组成 ORB核/ORB接口 ORB(Object Request Broker)该是作为对象互通信的软总线。 ORB截获服务请求调用,然后识别网络中服务器的位置,即对象实现的位置。若服务器不在运行,则ORB启动服务器,并一直等待到它准备接受服务请求为止。 ORB接口是ORB核给出的接口,同时为客户和对象实现方所见,提供了一些只能由ORB核提供的服务:对象引用操作、ORB初始化、对象适配器初始化和获取初始对象引用。 ORB之间的互操作则采用GIOP和IIOP实现。 ORB的特性可使客户程序不用考虑:服务器编程语言、服务器平台、服务器地点和网络协议。 ORB提供了两个用于存储有关对象信息的服务:接口仓库(接口存储数据库)和实现仓库(实现存储数据库)。 IDL IDL(Interface Definition Language)是用于说明对象接口的标识语言。 作用:接口概念一方面把对象的使用与对象的实现彻底分开;另一方面ORB使用对象的接口描述可在异类环境下实现不同数据格式的转换;第三,IDL编译程序能把接口描述直接映射到目标语言,极大地加快了代码开发。 例子 IDL编译 由IDL编译器根据IDL代码生成相应编程语言的客户代理(骨架)和服务器代理(存根)对象等。 静态调用 静态调用是指通过静态IDL存根和静态IDL骨架进行的调用过程。 静态IDL存根对客户端来说可看作它的远端对象,即服务器代理;静态IDL骨架对对象实现来说可看作它的客户端,即客户代理。静态调用必须在编译时就知道特定的目标对象的接口信息。 静态IDL存根和静态IDL骨架由编译IDL接口定义语言文件得到。 动态调用 动态调用接口(Dynamic Invocation Interface, DII)和动态骨架接口(Dynamic Skeleton Interface, DSI)可分别被视为通用存根和通用骨架,它们由ORB直接提供不依赖于所调用对象的接口。 对象适配器 对象适配器是ORB与对象实现间的接口,其主要的工作如下: 对象实现的注册; 生成及管理对象引用; 服务器进程激活; 对象激活/撤销/向上调用。 ORB运行机制 1. 开始; 2. 客户获取特定对象实现的对象引用; 3. 如果对象以静态方式实现,则通过IDL存根向对象实现发出请求,然后转6; 4. 将请求发给ORB提供的DII; 5. DII根据接口库的信息将请求传递给对象实现; 6. ORB传递请求; 7
您可能关注的文档
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(4).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(5).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(6).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(7).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(8).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(9).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(10).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第3章 集成运算放大器(1).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第3章 集成运算放大器(2).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第3章 集成运算放大器(3).ppt
- 北京市朝阳区北京版2019-2020学年三年级上学期英语上英语期末试卷(含听力音频).docx
- 北京版小学英语三年级上册期末测试卷(含听力音频).docx
- 北京市房山区2022-2023学年三年级上学期英语期末试卷.pdf
- 北京市延庆区2022-2023学年三年级上学期英语期末试卷.pdf
- 北师大版(三起点)三年级上学期英语期中检测卷(含听力音频).docx
- 北京市昌平区2022-2023学年三年级上学期英语期末自主练习试题.pdf
- 北京市房山区2022-2023学年三年级上学期英语期末试卷.docx
- 北师大版(三起点)三年级上学期英语期中检测卷(含听力音频).pdf
- 北京市昌平区2022-2023学年三年级上学期英语期末自主练习试题.docx
- 北京版小学英语三年级上册期中测试卷(含听力音频).pdf
文档评论(0)