分享
 
 
 

C2 的新世界

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

最近一段时间一直在做基于DCOM 的构件组装工具,学习的过程不忘与大家共同进步,所以这里将介绍一种构架(Architecture)语言的风格。该种风格由ICS of University of California, Irvine [/url] 提出并且实现。

C2 (Component and Connector )是一种基于组件和消息的架构风格(既然是风格就应该有许多种,C2 只是其中的一种),该风格对于构造灵活且扩展性强的软件系统是大有陴益的。C2的最大的特点就是组件之间(between Components )的交流一定要通过消息的传送即连接器所提供的功能才能达到。

在一个特定的构架之中,所有的组件都会处于一种严格的等级制度之中,象中世纪的欧洲一样,骑士必须对领主忠诚,而领主必须队国王忠诚。在C2的构架之中,一个组件只能感觉到等级高于自己的组件提供的服务,而感觉不到等级低于自己的组件的服务。正是这种单向的传递性使得用C2 风格组装起来的系统变得易于维护和扩展。这个问题很好理解,如果构架之中存在回路的话,那么一个组件所要求的服务也可能就是它自己提供的服务,而这本身就不可能。

也可能还有些问题读者没有弄太明白,我先解释一些,但是我这里只是一些简单的说明,如果读者有兴趣,就可以看我在文章后提供的一些网址。

什么是构架?在我看来就是软件系统在开发者眼中的一种高级抽象结构,形式化以后就是ADL (Architecture Description Language)。这种语言用于对于系统的粗粒度的组件和组件之间的联系的一种高层抽象。粗粒度就是指这里的组件可是是单个组件,也可以是一个组件包。构架描述语言真正地减少了系统设计者的负担(设计者会说,我所提供的设计是用描述语言来写的,这很规范而且清晰,不是吗?),因为系统设计者的工作就是系统级别的设计,任何逼迫他或她去做本来应该是程序员做的事情的方式都是不恰当的。

那么有人会说,这样不是同样增加了程序员的负担了吗?因为他们又要花时间去学习理解ADL 了,这确实是个问题。但是我们正在致力于解决这个问题,通过利用对于ADL 的包装和分析 以及我们即将开发的可视化的自动组装工具,我们的目标在于你只要在工具的客户区按照你的需求拖动和组装你所需要的组件,该工具就可以帮你自动组装这些组件甚至能够生成软件系统。

让我们重新回到C2 的世界,先让我们来看看 C2 到底有什么风格?C2 的架构风格用来支持那种具有图形化界面的应用程序,但同时也具有支持另种类应用程序的潜力。

l 基于组件的风格。我们可以用各种各样的语言写组件,比如 C++ , Object Pascal, Cobol, Perl 。在架构之中组件很容易就可以重用或者取代。

l 可升级性。组件可以在分布式的环境下运行,既不需要在一个地址空间内运行。

l 灵活性。概念上的架构和实现上的架构是不同的,多个实现上的架构可以实现一个概念上的架构。

下面再说说C2 的两个主要方面的规则:

1. 组装规则

C2 中有两种基本模块:组件和连接器。一个C2 的架构就可以简单地说成是一系列并发的由连接器连接的组件。组件和连接器都有顶端和底端。它们以下面的方式发生关系:

l 组件的顶端必须对应连接器的底端。

l 组件的底端必须对应连接器的顶端。

l 一个连接器原理上可以连接无限的组件或者连接器。

l 当两个连接器发生关系,它们必定是顶端对应底端。

2. 交流规则

所有的C2 构架中的组件必须也只能通过消息来达到交流的目的。每个组件有个顶端和底端。顶端向上发服务要求或者响应上面的通知。底端向下发通知或者响应下面的服务要求。这是一种半工状态因为一个组件只能感觉到等级高于自己的组件提供的服务,而感觉不到等级低于自己的组件的服务。

最后强调一点,C2 专注于系统的概念构架而不是实现构架。UCI 已经用C++ , JAVA实现了C2 的实现构架。构架是动态地被构造的。

下面是一个关于 C2 的网址

[url=http://ftp.ics.uci.edu/pub/c2/publications.html]http://ftp.ics.uci.edu/pub/c2/publications.html 里面是些关于C2 的论文,很全。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有