关闭

IOC模式 Type3(构造子注入)

801人阅读 评论(0) 收藏 举报

使用轻量级容器PicoContainer来实现IOC(Inversion of Control也叫Dependency Injection)模式的Type3
简单应用实例

public interface Fruit {
    void eat(Object eater);
}

public class Apple implements Fruit {
 public void eat(Object eater) {
  System.out.println("I'm Apple, eaten by "+eater);
 }

}

public class Monkey {
    Fruit fruit;

    public Monkey(Fruit fruit) {
        this.fruit = fruit;
    }
    public void eatFruit() {
        fruit.eat(this);
    }
 public String toString() {
  // TODO Auto-generated method stub
  return this.getClass().getName();
 }
   
}

public class PicocontainerTest {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  MutablePicoContainer pico = new DefaultPicoContainer();
  pico.registerComponentImplementation(Monkey.class);
  pico.registerComponentImplementation(Apple.class);
  Monkey monkey = (Monkey) pico.getComponentInstance(Monkey.class);
  monkey.eatFruit();
 }

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:93580次
    • 积分:1586
    • 等级:
    • 排名:千里之外
    • 原创:63篇
    • 转载:6篇
    • 译文:0篇
    • 评论:7条
    文章分类
    最新评论