|
知识路径: > 信息化和信息系统 > 信息系统及其技术和开发方法 > 软件工程 > 软件架构(定义、模式、分析与评估) >
|
相关知识点:7个
|
|
|
|
|
一个构件系统是能提供一系列可复用特性的系统产品。将这些特性实现成相互依赖、相互连接的众多构件,包括众多的类型、软件包、文档。
|
|
|
构件系统中的构件应当是高内聚低耦合的,但构件之间应当有若干种关系,例如继承关系(即一个构件可从其他构件那里继承其功能);可以发送消息给其他构件;可以与其他构件联合,支持协同工作。
|
|
|
|
为了使构件系统更切合实际、更有效地被复用,构件应当具备“可变性(variability)”,以提高其通用性。针对不同的应用系统,只需对其可变部分进行适当的调节,即进行“专化(specialize)”,对于应用系统来说,就是进行“客户化”工作。
|
|
|
需要进行“客户化”才能真正被复用的构件又叫做抽象构件,而可以被直接复用的构件则叫做具体构件。要复用一个具体的构件,要做的事只是输入该构件以及它所依赖的所有构件。而抽象构件是通用的,也是不完备的,仅仅输入构件还不够,还需先进行客户化。超类型、超类、带参数的模板等就是典型的抽象构件。
|
|
|
抽象构件一方面向复用者提供了一些公共特性,另一方面还提供可变的特性。复用者要根据复用的具体需要,用合适的“变体(variant)”改造可变特性,这就是客户化工作。构件系统可以预制一些变体让复用者选择,也可提供一种机制让复用者提供“变体”,也就是让复用者可扩展其特性。
|
|
|