Avalon基本概念(4)-IoC模式

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

IoC是Avalon后台的关键设计原则之一。IoC原则强制进行安全设计。

IoC的含义

设计者在对象之间创建一个能够对委托阶层中的特定消息进行响应的链。一个主要意思是:父对象控制子对象。这样的话,SAX API不是IoC的,因为它的目的是从一个源传信息到处理器。

类似的定义是军队的命令链(Chain of Command)。军队提供新兵他们所需要的基本东西执行该军衔的操作,发布新兵必须遵守的命令。相同的原则应用到代码中。每个组件由示例实体(instantiating entity)提供操作所需要的,然后示例实体作用于组件要执行如何。

这个类似定义中有一些不同:军官可以向比他军衔小的人发布命令。而在开发中,为了确保安全,是没有这样的模式的。IoC是从一个父对象(控制)到一个子对象(被控制)。一个父对象可以有多个子对象,而一个子对象只能有一个父对象。

如何应用IoC

IoC使用一种很简单的方式来应用。这意味着组件架构使用被动(passive)结构,如下面的例子:

class MyComponent

implements LogEnabled

{

Logger logger;

public enableLogging(Logger newLogger)

{

this.logger = newLogger;

}

myMethod()

{

logger.info("Hello World!");

}

}

MyComponent的父类实例化MyComponent,设置Logger,调用myMethod()。组件是不自主的,因为被给了由父类配置的Logger。

除了父类,MyComponent类没有声明;除非父类给与它所需要的实现,MyComponent无法获得Logger实现的引用。

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