对象创建从农业社会到共产主义的发展

一、农业社会

最传统的创建对象的模式,每个需要使用工具的人都必须自己造一把工具,在java中的表现为调用者手动创建被调用者。

例如,在Person类中要使用Tool类,要使用一下语句:

Tool t = new Tool();

 

缺点:通过new创建被调用的实例,耦合度过高。

 

二、工业社会

进入了工业社会,随着工厂的出现,工具是由工厂生产,使用者只需要说出需要工具的名称给工厂,工厂即提供相应的工具。

在工厂类中定义方法:

 1 class Factory{
 2     
 3     public Object getInstance(String name){
 4         if(name == "ax")
 5             return new Ax();
 6         else if(name == "knife")
 7             return new Knife();
 8         else
 9         
10     }
11     
12 }

然后,在调用者中使用以下代码,即可得到斧子:

1 Factory f = new Factory();
2 Knife f = (Knife)f.getInstance("knife");

 

分析:在工厂设计模式中,调用者只需定位工厂,无需管理具体的实现。可以面向接口编程,让调用者和被调用者解耦。

 

三、共产主义-基于IoC的实现

来到共产主义,使用者甚至无需定位工厂,只要在家里说需要什么工具,然后坐等社会提供即可。

在java中即Spring依赖注入的核心思想。

过程:在调用者类中,只需要声明需要的工具(说自己需要什么),然后由Bean容器通过java的反射机制,注入工具到调用者。实例之间的依赖关系有容器提供和管理。

posted @ 2009-10-31 13:12  Hank Chu  阅读(200)  评论(0编辑  收藏  举报