记录督促学习历程13

做复用项目的公司在组件称为可复用组件之前,需要执行某种形式的组件认证。

组件合成是指组件相互直接集成或是用专门写的“胶水代码”将它们整合在一起来创造一个系统或另一个组件的过程。

合成组件有多种方法,例如:!顺序和成,可以用两个已经存在的组件来创造一个新的组件,通过按顺序调用已经存在的组件,你可以把这个合成看做是“提供接口”的合成。这种组合类型可能适用于作为程序元素的组件或是作为服务的组件。

层次合成是发生在一个组件直接调用由另一个组件所提供的服务,被调用的组件为调用的组件提供所需要的服务,因为服务没有“需要”接口,当组件作为网络服务来实现时,这个合成模式是不能使用的。

叠加合成是发生在两个或两个以上组件接合在一起来创建一个新组建,这个新组建合并了它们各自功能,这种合成类型适合于组件时程序单元或者组件时服务的情形。

当创建一个系统时,可能用到所有形式的组件合成方式,对于所有情况都需要些“胶水代码”来连接组件,当一个组件调用另一个组件时,可能需要引入一个过渡组件以确保“提供”接口和“需要”接口是兼容的。

当编写组件尤其是为了合成来写组件时,必须注意设计好组件接口以使其在这个系统中相互匹配,当独立开发可复用组件时,你经常会面临接口不兼容的问题,有可能组件接口不一致,有三种类型的不兼容:1参数不兼容2操作不兼容3操作不完备

对所有情况,都必须通过编写适配器组件来解决不兼容的问题,适配器组件使两个可复用组件的接口相一致。

解决二义性最好的方法是使用形式化语言来描述接口,

当通过合成组件来创建一个系统时,会发现在功能性需求和非功能性需求之间,在尽可能快速移交软件和创建一个能随需求变更而进化的系统之间,都存在潜在的冲突,必须这种的地方:1在交付系统功能型需求方面哪种组件的合成方式是最有效的?2什么样的组件合成将可以使得合成组件在需求变化时更容易调整,3合成系统将有哪些总体特性?这些总体特性是像性能和可靠性等特征,只有当整个系统实现后你才能评估这些特性。

在适应性和性能两者之间是有潜在冲突的,数据管理系统可以被替换,且如果需要报告,而现有的报告系统不能生成,组件同样可被替换而不必改变数据管理组件。

使用内嵌报告设施的数据库组件,该合成方式的主要优点在于组件很少,因此就可能很快实现,因为没有组件间太多的通信负荷,此外,应用于数据库的数据整体性规则同样也应用于报告,这些报告不可能以不正确的方式组合数据,因此在报告中更容易出错、

一种好的合成原则是对关注焦点分离的原则(这里概述没有看懂什么叫做关注焦点分离)也就是说,应该视图用这样的方式设计你的系统,即每个组件都有清晰定义的任务,理想情况是,这些任务彼此不会重叠,然而,买一个多功能的组件会比买两个或三个独立组件更便宜,而且,使用多个组件在可靠性或者性能上可能会有损失。

十八章

这一章主要是介绍分布式系统工程和分布式系统体系结构,需要知道,1在设计和实现一个分布式软件系统时不得不考虑的关键问题,2客户机/服务器计算模型和分层体系结构,理解软件作为一种服务的概念,提供了对远程应用程序基于Web的访问,

事实上,所有大型计算机系统现在都是分布式系统,分布式系统与所有的系统组件在一台单独的计算机上执行的集中式系统相反,分布式系统包含了许多计算系统,基本概念是:一个独立计算机的集合体,给拥护的感觉确实面对一个独立的系统,

分布式系统工程与其他软件工程有许多相同的地方,但也有许多特殊问题需要在设计这类系统时予以考虑

分布式方法开发系统的优势:1资源共享,2开放性3并发性4可扩展性5容错性

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值