当前位置: 首页 > news >正文

IOC个人理解

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

IOC

1.  Ioc 是什么?

看过很多的博客,都在解释着一个名词,控制反转,但是什么是控制反转,又有解释为控制的权利交给了容器处理,不管怎么解释,总觉得还是不清不楚的,比较晦涩难懂.而IOC确实包含了很多的东西,涉及到了代码解耦,设计模式,代码优化等问题.

Ioc和new 出一个新的对象有什么区别呢??这个一直我不是很理解,看了好久的书,对此有了模糊的理解,ioc是new对象的升华,ioc创建的实例是运行时期才可以确定是哪个对象,这样就增加了编程的灵活性.

2.  实例对比

在spring3.x实战中得到的例子.

1.       之前的写法

    Public Class MoAttack{

        LiuDeHua ldh=new LiuDeHua();
    }

         直接写出演员对象,但是这样耦合过紧,要是临时更换演员呢??

2.       改进之后

    Public Class MoAttack{

        GeLi geli=new LiuDeHua();

        geli.reponseAsk(“”);

    }

         通过接口,这样还是具有很深的耦合.我们的目的是,具体的演员和剧本无关,我可以随时随地的换演员.导演最大,

3.       控制反转

1.       控制

2.       反转

public class MoAttack implements ActorArrangable {

  private GeLi geli;

 

  public void injectGeli(GeLi geli) {

     this.geli = geli;   

}

 

  public void cityGateAsk() {

     geli.responseAsk("墨者革离");

  }

}

 

转载于:https://my.oschina.net/u/2615530/blog/799742

相关文章:

  • MSG结构体和WndProc窗口过程详解
  • SDWebImage源码解读 之 UIImage+GIF
  • 第一次给ThinkPHP5核心框架提pull request的完整过程
  • ambari2.0.0,hadoop2.6重启namenode报错
  • Github入门
  • mysql root密码忘记
  • 使用 Express 和 waterline 创建简单 Restful API
  • lduan SCVMM 2012 AD部署环境(一)
  • Multi-Mechanize工程目录结构说明
  • 统计当前在线用户数量
  • QT多线程类数组同时开启几十个线程
  • 实体ip 虚拟ip 固定ip 动态ip
  • 3 - Components
  • ceph 手工部署集群
  • 转载:align
  • [译]前端离线指南(上)
  • 2019年如何成为全栈工程师?
  • centos安装java运行环境jdk+tomcat
  • CSS 提示工具(Tooltip)
  • Invalidate和postInvalidate的区别
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vim Clutch | 面向脚踏板编程……
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Webpack 4 学习01(基础配置)
  • 笨办法学C 练习34:动态数组
  • 程序员最讨厌的9句话,你可有补充?
  • 简析gRPC client 连接管理
  • 前端
  • 试着探索高并发下的系统架构面貌
  • 我的面试准备过程--容器(更新中)
  • 项目实战-Api的解决方案
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #mysql 8.0 踩坑日记
  • #pragma once
  • (2)MFC+openGL单文档框架glFrame
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (poj1.2.1)1970(筛选法模拟)
  • (WSI分类)WSI分类文献小综述 2024
  • (二十四)Flask之flask-session组件
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (九)One-Wire总线-DS18B20
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (转)JAVA中的堆栈
  • (转)树状数组
  • (转载)利用webkit抓取动态网页和链接
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .net生成的类,跨工程调用显示注释
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48