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时,会最小化需要查找的位置。

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