面向构件的软件设计

上传人:工**** 文档编号:504910420 上传时间:2023-01-20 格式:DOCX 页数:5 大小:11.28KB
返回 下载 相关 举报
面向构件的软件设计_第1页
第1页 / 共5页
面向构件的软件设计_第2页
第2页 / 共5页
面向构件的软件设计_第3页
第3页 / 共5页
面向构件的软件设计_第4页
第4页 / 共5页
面向构件的软件设计_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《面向构件的软件设计》由会员分享,可在线阅读,更多相关《面向构件的软件设计(5页珍藏版)》请在金锄头文库上搜索。

1、面向构件的软件设计9.1术语、概念1、构件构件的特征如下:独立部署单元。作为第三方的组装单元。没有(外部的)可见状态。独立可部署,意味着必须能跟他所在的环境及其他构件完全分离。原子性,构件不但必须具备足够好的内聚性,还必须将自己的依赖条件和所提供的服务说明 清楚。缓存具有这样的特征:当它被清空时,除了可能会降低性能以外,没有其它后果。构建本质上没有状态,同一操作系统进程中装载多个构件的拷贝是毫无意义的,至多会存 在一个特定构件的拷贝。许多系统中,构建被实现为大粒度的单元,工资管理服务程序就是一个构件,工资数据只 是实例(对象),将不易变的“模型”和易变的“实例”分离的做法避免了大量的维护问题。

2、2、对象对象的特征如下:一个实例单元,具有唯一的标志。可能具有状态,此状态外部可见。封装了自己的状态和行为。显式存在的实例化方案称为类,也有隐式的实例化方案,既通过克隆一个已存在的对象来实 现,即原型对象。新生的对象都必须被设置一个初始状态,创建与初始化对象的代码可以是一个静态过程一 一类的一部分,称为构造函数。如果这个对象是专门用来创建与初始化对象的,称为工厂。对象中专门用来返回其他新创建的对象的方法称为工厂方法。3、构件与对象构件通常包含了若干类或不可更改的原型对象。还包括一系列对象。但构件并非一定要包含类元素,它甚至可以不包含类,可以拥有传统过程体,甚至全局变量。构件创建的对象一一更确切

3、地说是对这些对象的引用一一可以与该构件分离开来,并对构 件的客户可见。构件的客户通常是指其他构件。一个构件可以包含多个类元素,但是一个类元素只能属于一个构建。将一个类拆分进行部署 通常没有什么意义。4、模块模块化方法成熟的标志是其对分离编译技术的支持,包括跨模块的正确的类型检查能力。模块没有实例化的概念,在任何情况下,模块都可以包含多个类。类之间的继承关系并不 受模块界限的限制。模块本身就可以作为一个最简单的构件,这些库是功能性的,而不是面向对象的。资源可以参数化一个构件,重新配置该构件而无需更改构件代码,例如,本地化设置可以通 过资源配置实现。某些情况下,模块并不适合作为构件,构件没有外部可

4、见的状态,但是模块却可以显式地用 全局变量来使其状态可见。5、白盒抽象、黑盒抽象与重用白盒抽象中,可以通过继承对构件的实现细节进行修改, 白盒方式中实现细节对外界是完全可见的。绝大多数系统中,(Application Programming Interface,API)相当于黑盒重用这些接口的实现。白盒重用不可以轻易地被另外的软件替换,因为依赖于细节。软件构件是一种组装单元,它具有规范的接口规约和显式的语境依赖,软件构件可以被独立 地部署并由第三方任意地组装。6、接口 接口是一个已命名的一组操作集合。一个构件可以有多个接口,每个接口提供一种服务。尽量不要重复引入功能相近的接口。推行标准化,可能

5、会由于笨拙官僚的“委员会设计”问题而不能达到最优市场竞争,的非 技术本质也可能导致结果不是最优。接口标准化是对消息的格式、模式、协议的标准化,XML提供了一种统一的数据格式。7、显式语境依赖对部署环境的具体要求,称为语境依赖。8、构件的规模最大化重用也有一个潜在的缺点语境依赖的爆炸性增长。语境依赖越多,能满足构件环境需求的客户构件就越少,降低了可用性。构件设计者需要为以上两者找到一个平衡点,还必须考虑环境的演化会使构件更加脆弱。9.2标准化与规范化如果语境依赖能够被广泛支持,就不是什么缺点。1、通用市场与专业市场通用市场的标准化是非常困难的,得满足所有人的需求,网络标准就是最好的例子。专业市场

6、的标准化与通用市场同样艰辛,由于所涉及的人较少,市场经济的机制就不容易很 好地发挥作用。2、标准的构件体系与规范化要发挥标准化的作用,就必须使与之竞争的其他标准数目尽量很少。9.3构件框架9.3.1体系结构构件体系结构的核心包括:构件和外部环境的交互;构件的角色;标准化工具的界面;对最终用 户和部署人员的用户界面等。1、体系结构的角色 体系结构是关于一个系统的整体视图,定义了总体的不变性,规定了恰当的框架,限制自由 度,对整体功能、性能、可靠性、安全性的主要考虑过细的决策可以放一边。3、构件系统架构特性构件系统体系结构由一组平台决策、一组构建框架和构件框架之间的互操作设计 绢成。平台是平许在其

7、上安装构件和构件框架的一个基础设施。构件框架是一种专用的体系结构,常常实现一些协议以连接构件。多数原子构件永远都不会被单独部署,尽管他们可以被单独部署。原子构件通常组成地部署。4、分层的构件体系结构传统的垂直分层,自底向上地,抽象程度渐增,与应用相关的性质逐渐提高。水平分层是性能和资源相关性递减而结构相关性递增。轻量级体系结构把注意力集中到一个问题,而不是覆盖所有问题,如果轻量级构件支持较好 的易扩展性,它的商业价值就非常大。6、构件与生成式编程必须要精确控制实际的构件边界,包括提供接口和需求接口,必须能精确控制同其他构件间 的静态依赖。9.3.2语境相关组合构建框架COM+增加了可租赁线程“套间”的概念,一次只允许一个线程入住,但是多个线程能顺 序地入住该“套间”。相同事务域中的对象共享一个单独的逻辑线程和一个单独共享事务资源集合,一旦线程从 事务域中返回,事务要么提交要么终止。COM+中,如果两个构件共享一组兼容的语境属性集,则它们可以被看作是处于同一域中。9.3.3构件开发异步问题事件分发机制负责接收这些事件对象,并把它们发送给对其感兴趣的其他构件实例。多线程多线程主要关注于对程序执行进行更好的分配,获取性能最大化的手段却根本不依赖于多线 程,而是尽量在第一时间内以最快的速度处理用户的请求。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号