【必修】组件考试向精简版笔记 chapter1 接口、组件、架构、软件体系结构

绪论

(一)名词解释

0. 接口
泛指实体把自己提供给外界的一种抽象化物,用以由内部操作分离出外部沟通方法,使其能够被修改内部而不影响外界其他实体与其交互的方式。

1.软件体系结构(架构)【2016】【2017】【2019】
向上迎合需求,向下约束限制。
线下约束限制是指给随后的设计指明方向,给出的决策包括逻辑结构,运行和部署时结构,决定了系统对于初步设计的决定。
软件系统需要分解,可以把一个软件系统经过初步分解之后形成的各个部分以及这些部分之间的关系粗略地看成该系统的架构。架构的另一个引申含义是分解方法。
如何分解软件系统,存在典型的,普适性分解方法。复用软件体系结构,属于过程复用。

2.设计模式【2016】【2017】【2018】
设计模式可以简单地理解为一个由问题和解决办法组成的对偶,一个设计模式是针对一类经常遇到的,领域无关的,典型的设计问题,给出相对好的解决办法,这样的方法是经过许多实践所验证的,并具有比较好的设计理念。每个设计模式都有其适用场合。
一个设计模式本身,没有实现,没有代码;介绍设计模式时,往往通过对抽象出的问题给出描述以及对应的实现。

3.设计框架【2016】【2018】【2019】
由领域相关的一组类以及这组类之间的关系构成。属于包括代码复用在内的结果复用,还可能体现在对过程复用的应用。对某个领域进行若干次的开发之后,会积累沉淀下来一些东西,尤其利用面向对象方法开发时,因为特定领域中的概念是相对稳定的,针对这些概念的定义也就相对稳定,这些相对稳定的类及其关系的实现或部分市县,构成针对该领域进行其他软件系统开发的一个基础,既,可以进行扩展式开发,从而形象地称之为框架。
有基础性的东西,但还缺东西。它包括实现,属于半成品,是语言相关的。
设计模式 设计框架
领域无关 领域相关
过程复用 结果复用
语言无关 语言相关
不包括代码和实现 包括代码,代码也可复用。

4.组件【2017】
组件属于结果复用,一个组件可以应用在多系统当中,利于软件的更新和复用;组件能够支持动态连接;

5.软件系统分解的基本准则:高内聚低耦合【2017】
高内聚,是指分解出的每一部分,内部相关度越高越好;低耦合则是指分解出的各部分关系越松散越好。高内聚低耦合通常作为设计时模块划分的依据,也就是分解的全过程。

例子:
① 最少知道原则(迪米特原则):一个实体应该尽量少地与其他实体相互作用,使得系统功能模块相对独立。即一个对象应该对其他对象尽可能少地了解。
② 合成/聚合复用(CARP):只用你的方法,但不一定是同类。即只引用类的方法来进行复用。
③ 接口隔离原则(ISP):这个原则的意思是使用多个隔离的接口,比使用单个接口更好。便于软件升级和维护。
④ 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。

6.封装【2017】
封装的本质是,以区分客户程序并分别对待为手段,降低耦合度。这样就将用户与服务之间划分开来。

8.组件与中间件【2018】【2019】
组件:完成领域相关功能,相当于是Client;
中间件:完成领域无关功能,具有规范接口,相当于是Server;

9.静态连接和动态连接【2018】
①共同点:它们都需要检查调用关系的合理性;
②不同点:
静态链接:用连接程序来进行关系合理性检查,如果关系合适,可以建立物理连接;
动态连接:运行时连接,它的关系合理性检查由Iunknown的QueryInterface方法来实现。

(二)简答题

1. 谈谈你对软件复用的理解。
软件复用是将已有的软件及其有效成分用于构造新的软件或系统。除了复用软件程序,还包括对软件生产过程中其他劳动成果的复用,如项目计划书,可行性报告等开发文档。
因此,软件复用包括软件产品复用和软件过程复用两部分。

软件复用的主要思想是将软件看成是由不同功能部分的“组件”所组成的有机体,每一个组件在设计编写时可以被设计完成同类工作的通用工具。这样,如果完成各种工作的组件被建立起来以后,编写特定软件的工作就变成了将各种不同组件组织链接起来的简单问题,这对软件产品的最终质量和维护工作都有本质性的改变。

通过软件复用,可在应用系统中利用已有的开发成果,减少了包括设计,分析,编码,测试在内许多重复劳动,从而提高了软件开发的效率。

2. 谈谈对使用与分离的理解。
使用和实现分离通常是指在程序开发者编写代码的过程中,不必关心某些内容的具体方法,只要能够知道如何运用,并能够很好地使用到程序开发中去。

面向对象技术和组件技术都强调使用与分离的实现,接口时对象或组件的通信协议,实现是对象或组件的内部细节,客户只关心接口就行。

组件完美地实现了使用与分离的实现,组件的实现与语言无关,对使用者透明。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值