下面回过头来再解释一下前面的两张图

图6_1
这个是表示一个composite组成,composite可以包括多个component,composite也可以包含composite。最上面一层composite及其所有包含的内容,构成一个application。
CompositeA里面包括两个component,componentA和B。每个component都要有一个实现,实现里面是具体的代码和逻辑,所有component提供的service都在在这里面有具体实现。Component上可以定义属性,composite上也可以定义属性,component会首先使用自身的属性,然后才是上一层的属性。Component的上的属性也可以直接引用上一层composite上的属性。Component上会定义service,绿色肩章图,和reference,粉色。Component直接的reference和service有wire连起来,确定调用关系。Component的service和reference可以promote到composite层,这样compositeA之外的就可以调用CompositeA的service。也只有被promote的reference才可以使用其他composite的service。 Serivce要定义interface, interface可以是java interface,也可以是WSDL interface。
Service和reference上要定义binding,service binding是提供别人调用service可以使用的方式,reference binding是调用其他service使用的方式。
最上面一层composite涵盖范围就是application涵盖的,最上面一层composite的service,reference,property等,都称为application的service,reference,property。
图6_2
这张图表示高层composite有低层的composite依次实现,高层composite也可以包含一个composite,低层的service和reference可以promote到上一层上。
本文解析了复合组件(composite)的概念及其实现方式。复合组件能够包含多个子组件(component),并可进一步嵌套复合组件,形成了层次化的应用架构。每个组件都有具体的实现和服务,并能定义属性和服务接口(interface)。组件间通过连接(wire)建立调用关系,同时组件的服务和引用(reference)可以通过提升(promote)至复合组件层级,以供外部调用。
1040

被折叠的 条评论
为什么被折叠?



