zoukankan      html  css  js  c++  java
  • 对象创建从农业社会到共产主义的发展

    一、农业社会

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

  • 相关阅读:
    uva11922splay
    获取的二维数组排序
    二维数组排序
    $.extend
    <eq>标签
    datagrid时间插件
    id=%d是什么意思呢?
    获得某一月的第一天,最后一天
    数组合并
    phpexcel 导入导出excel表格
  • 原文地址:https://www.cnblogs.com/return/p/1593479.html
Copyright © 2011-2022 走看看