分享
 
 
 

Avalon基本概念(1)-面向组件编程(COP)

王朝java/jsp·作者佚名  2006-01-30
窄屏简体版  字體: |||超大  

面向组件编程(COP)

COP比OOP更进一步。通常OOP将数据对象组织到实体中。这种方法具有很多优点。但是,OOP有一个大的限制:对象之间的相互依赖关系。去掉这个限制的一个好的想法就是组件。组件和一般对象之间的关键区别是组件是可以替代的。

任何使用Avalon原理开发的系统都可以称为基于组件设计(CBD)的。COP和CBD不是同一概念。CBD是指一个系统如何设计,而COP是指一个系统如何实现。

设计组件

编写一个组件的第一步就是决定如何使用它。如果你有一个可以在很多不同上下文环境中使用的强大组件,就可以经常被重用。这些上下文环境包括在命令行执行组件、作为子系统的一个部分,或作为Avalon的一个完整部分。

既然所有组件都是Avalon的一个部分,那么所要做的就是定义它们的接口(role)。为系统的其它部分标识和文档化契约是很重要的。我所指的契约是依存关系的顺序、什么是它在运行时所需要的,什么是它提供给系统其它部分的。

在开始阶段仔细计划是很重要的。因为你需要尽可能通用而又能精确表示它的角色的接口。

因为上下文环境可能是Avalon的一个部分,所以你必须注意按Avalon的方式使用这些组件。这意味着在地定义关系时,应该遵循Avalon的关系顺序。

在设计一个能在命令行运行的组件时,尽量从组件中分离main()函数。这是为了维护Avalon的passive API做的强制。按照前面的方式设计组件,你会使main()函数所要做的最小化。

遵循下面的习惯:拥有一个专门处理main()函数的对象,包括解析命令行参数和初始化组件。使用这种方式在每个上下文环境中使用组件,在debug时,会最小化需要查找的位置。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有