IoC联想到规则引擎

最近花了点时间研究Ioc,这的确是一个好东东。IoC的概念很是悬乎(主要是被国内同胞解释出来的),刚开始还真的晕了头,后来在一位仁兄的文章中看到了最为通俗的解释:就是通过XML文件定义来生成对象。

IoC还有另外一个别名:Dependence Injection。意思是依赖注入,看起来比IoC好懂,但总的来说,还是上面的解释好!

这个解释真的很清楚明了,也让我真正的进入IoC中来了。随着不段的深入,我越来越喜欢上他了;而他的理论思想以及实际的应用领域,让我第一个想其了规则引擎。

规则引擎要通过规则描述文件来定义逻辑规则,然后通过引擎机制来解析执行,让实际的代码中脱离无数的易变的规则束缚。想起来,他跟IoC机制很是相象,只不过处理的层次不一样罢了。

IoC处理的是基于功能组件或者可以说是类级别的对象,而规则引擎处理的则是基于实现逻辑或者方法内部级别的对象。IoC让应用在功能上独立,在代码上分离;规则引擎让代码细节独立。都是一个目的,降低耦合度,增加灵活性。

IoC和规则引擎还有一个很相似的地方:热部署。IoC修改了定义文件可以动态的部署到应用中,如果涉及到新的类等,则可以通过类的热部署完成整个修改的热部署;规则引擎也可以支对修改后的配置文件进行重新读取,以获得新的规则描述,从而实现新的逻辑。在次等意义上,可以说他们都具有良好的管理机制。

其实任何一种技术的出现都是为了帮助开发人员减少不必要的劳力。IoC和规则引擎能想到这些问题,的确是很成功的技术,也的确可以解决很多实际的问题。如果他们继续发展下去,最终统一为一种更为成熟的技术,那将是JAVA界的又一大特色!

你可能感兴趣的:(开源分析,编程感言)