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

一、农业社会

最传统的创建对象的模式,每个需要使用工具的人都必须自己造一把工具,在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的反射机制,注入工具到调用者。实例之间的依赖关系有容器提供和管理。

转载于:https://www.cnblogs.com/return/archive/2009/10/31/1593479.html

猜你喜欢

转载自blog.csdn.net/weixin_33835103/article/details/94573551