cooma(microcontainer, SPI Provider Container) 0.2.1 released

Posted on February 17, 2013

发布功能

  • 完善Wrapper实现
  • 更新文档和Demo
  • 清理代码其注释

功能比较完整,欢迎大家试用和反馈!

发布链接

概述

Cooma适用于为框架的实现动态扩展点(Extension)加载和配置。

实现原型来自于Service implementation of JDK5

参见Quick Start中的示例代码及其说明,快速了解。

概念上极简独立

  • 完全割除与容器不相关的概念。
  • 审视已有的概念,谨慎引入新概念。

实现上简单直白

  • 不算注释,实现代码 少于1000行
  • 保持代码可读性。
  • 不考虑没有实际应用的概念。
  • 谨慎对待性能优化;不能因此打乱代码的简单性。

集成上的简易灵活

  • 保持灵活的扩展性。
  • 开发者友好。
  • 集成是否简易是设计是否良好的有效指标。

功能

  • 以插件方式加载扩展
  • 支持依赖扩展点的自动加载(扩展的IOC)
  • 可以有扩展点Wrapper,为扩展写公共Filter代码(扩展的AOP)
  • 统一的配置方式来配置各级扩展点
  • 查询插件实现
  • 支持配置方式/编程方式

核心概念

  • Extension Point,扩展点,要扩展的接口
  • Extension,扩展,即扩展点的实现
  • Extension Instance,扩展实例,即扩展点实现类的实例
    # ExtensionLoader中维护了Extension Instance的 单例
  • Extension Adaptive Instance,扩展的自适应实例
  • Extension Wrapper,所有扩展点实现调用时都会先触发的执行