`
snowmanjy
  • 浏览: 54384 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

picocontainer用户指南学习笔记

阅读更多
snowmanjy @ 2006年04月16日, 11:49:40 上午




    最近辞了职在家休息+整理学习下技术,这两天在看picocontainer,一方面在刚作完的项目中使用过,再深入了解一下,另一方面为学习spring打打底。英文文档看得还是有点费劲,简单记录下知识点:


  指南摘要:


    picocontainer基本特点:ioc(di-主要是constructor injection) 生命周期管理(start,stop,dispose 被管理组件必须实现相应接口,是否会造成依赖?),容器的组织和管理(比较高级的特性,包括容器之间的关系、查找顺序(在本容器找不到的组件将向父级容器递归查找)以及销毁容器的顺序(关闭时先销毁没有被依赖的容器,按顺序销毁))


  提到的模式与反模式:


    模式:


      good citizen?;ioc ;di;接口与实现分离;



    反模式(包括对pico的错误用法):


      依赖类而不是接口;依赖容器(通过改变代码可以消除依赖);container instantiation(容器实例化?在类中创建容器并注册组件,这种反模式经常出现在test中);instance registration(registerComponentInstance(Object key, Object componentInstance)方法使用过多);构造函数中过多的参数(通常是由于一个类实现了过多的功能造成的,或者是由于下一个模式造成的); Propagating Dependency(依赖传染?解释不好,还是看文档。。);Singleton(gof 23 之一,pico团队指出这是一个反模式:造成程序混乱且不易测试)
分享到:
评论

相关推荐

    PicoContainer源码学习日志

    《PicoContainer源码学习日志》 PicoContainer是一个轻量级的依赖注入框架,主要应用于Java项目中。它的核心理念是通过组件容器来管理对象的生命周期和依赖关系,从而实现松耦合的设计。本学习日志将深入探讨...

    picocontainer:Java微容器

    7. **学习资源** 要深入了解Picocontainer,可以参考其官方文档、GitHub仓库中的示例代码,以及相关的教程和博客文章。通过实践项目,你可以更好地理解和掌握Picocontainer的工作方式。 总结来说,Picocontainer是...

    Android代码-picocontainer

    PicoContainer 3.x is in Git at Github and Codehaus (mirrors), and is a work in progress. PicoContainer 3.x is good enough to use in production, but it is not finished yet. Goals over 2.x The major ...

    cucumber-picocontainer-example

    CucumberPicoContainer示例开发环境安装Git( ) 安装JDK 1.5+( 或 ) 安装Maven 3( )下载git clone git@github....jar target/cucumber-picocontainer-example-jar-with-dependencies.jar

    cake-picocontainer-1.3.jar

    jar包,亲测可用

    cake-picocontainer-1.3-sources.jar

    jar包,亲测可用

    coconut-internal-picocontainer-1.3.jar

    jar包,官方版本,自测可用

    JdonFramework使用开发指南

    ### JdonFramework使用开发指南深度解析 #### 一、引言与概述 JdonFramework,作为一款基于J2EE设计理念的框架,旨在简化企业级应用的开发流程,尤其是在数据库操作的CRUD(创建、读取、更新、删除)及批量分页...

    vertx-pico-support:vert.x 的 PicoContainer 支持

    PicoContainer 支持 vert.x 使用依赖注入。 用法 创建一个垂直: public class MyVerticle extends Verticle { public void start() { ApplicationContext applicationContext = ApplicationContext.create() ....

    Java轻量级容器的比较.pdf

    HiveMind用户倾向于使用setter注入,同时也支持构造函数注入。HiveMind的设计理念是“概念正确”,注重实际问题的解决。 **PicoContainer** 是最小的轻量级容器,专注于依赖注入,其小巧的体积是其显著特征。...

    Intellij platform plugin开发指导手册,java集成开发环境Intellij idea插件开发

    本开发指导手册是针对IntelliJ平台插件开发的一份全面指南,旨在帮助开发者从入门到精通,掌握在IntelliJ IDEA上构建各种插件的技能。 首先,手册的第一部分是“IntelliJ platform插件开发基础”。这部分内容涵盖了...

    jbehave-pico-3.9-beta-4.zip

    【标题】"jbehave-pico-3.9-beta-4.zip" 提供的是 JBehave 的一个版本,这是基于 PicoContainer 框架的一个行为驱动开发...学习和使用这些库,不仅可以提升软件开发的专业性,还能加深对测试和版本控制策略的理解。

    tapestry学习资料汇总

    本压缩包包含了丰富的Tapestry学习资料,总计约25M,涵盖了各种教程、教材和实践案例,对于想要深入理解和掌握Tapestry的开发者来说,是一份非常宝贵的资源。 1. **Tapestry基础** Tapestry基于组件模型,每个网页...

    学习java的30个步骤

    4. **图形用户界面**:对于客户端开发,需要熟练使用Web小应用程序(Applet)、GUI设计(如Swing、AWT和SWT),以及JavaBean组件模型,以便在JSP中实现业务逻辑和表现层的解耦。 5. **数据库技术**:学习JDBC API,...

    java的28个学习目标

    学习常用的应用框架,如Spring、PicoContainer、Avalon等,深入理解IoC(Inversion of Control)和DI(Dependency Injection)概念及其不同实现方式:setter injection、constructor injection、interface injection...

    学习JAVA的30个目标.doc

    13. **轻量级框架**:了解Spring、PicoContainer、Avalon等IoC/DI框架,学习依赖注入的实现方式。 14. **J2EE技术**:熟悉JNDI(Java命名和目录接口)、JTA(Java事务API)、JMS(Java消息服务)等。 以上这些知识...

    java学习中的一点忠告

    综上所述,《java学习中的一点忠告》涵盖了从Java基础知识到高级技术的全面指南,旨在帮助学习者构建坚实的技术基础,掌握核心技能,并能够应对复杂的企业级应用开发挑战。通过深入理解和实践这些知识点,Java开发者...

    Java学习的30个目标

    此外,还应持续关注最新的Java特性和标准,例如Java模块系统(Jigsaw)、JavaFX图形用户界面框架、Java并发工具包(Concurrent Package)等,以及云原生开发、微服务架构、DevOps实践等相关技术,以保持技能的前沿性...

    学习java的30个目标

    14. 框架:学习Spring、PicoContainer、Avalon等轻量级框架,理解IoC(控制反转)和DI(依赖注入)的设计模式。 15. J2EE技术:掌握JNDI、EJB、JMS、JPA等J2EE技术,用于构建企业级应用。 16. 高级主题:进一步...

    java学习目标

    学习Java图形用户界面(GUI)开发,包括Swing、AWT、SWT等库的使用,以及Applet和Web应用的基本知识。此外,了解JavaBeans模式,这对于构建可复用的组件非常重要。 #### 5. 数据库集成与持久化 掌握Java数据库连接...

Global site tag (gtag.js) - Google Analytics