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

面向组件编程(COP

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

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

 

设计组件

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值