zoukankan      html  css  js  c++  java
  • IOC(一)

    什么是IOC

      IOC即控制反转, 就是把对象创建和对象之间的调用过程, 交给Spring进行管理, 从而降低耦合度.

      举个例子, 如果我们要在一个类(U1)里调用另一个类(U2)的普通方法, 则我们需要在U1里通过new关键字创建U2的对象并调用其中的方法, 但这样耦合度太高.

      一个改进的方法是使用工厂模式: 创建U2的工厂类, 比如:

    class U2Factory{
        public static U2 getU2(){
            return new U2;
        }
    }

    我们可以调用工厂类的静态方法, 直接在U1中调用U2的普通方法:

    class U1{
        U2 obj2 = U2Factory.getU2();
        obj2.U2Method();
    }

    但这样还是有一定耦合度, 我们可以使用IOC的方法, 将耦合度降到最低:

      第一步: 配置xml, 配置创建的对象

    <bean id="obj2" class="com.Ryan.Spring5.U2"></bean>

      第二步: 利用反射, 创建工厂类

    class U2Factory{
        public static U2 getU2(){
            String classValue = class属性值; //1.xml解析
            Class clazz = Class.forName(classValue); //2.通过反射创建对象
            return (U2)clazz.newInstance();
        }
    }

    这样便进一步降低了耦合, 如果后期要改U2类, 则直接改配置文件即可

  • 相关阅读:
    Haproxy 【转载】
    Nginx介绍
    Day 13 进程和线程
    运维第一课
    面试bb
    Day 12 字符串和正则表达式
    Day 11 文件和异常
    Day10 图形用户界面和游戏开发
    Day9 面向对象进阶
    day8 面向对象编程基础
  • 原文地址:https://www.cnblogs.com/Ryan368/p/13853827.html
Copyright © 2011-2022 走看看