当前位置: 首页 > 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
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • Angular2开发踩坑系列-生产环境编译
  • C++类的相互关联
  • create-react-app项目添加less配置
  • dva中组件的懒加载
  • Fastjson的基本使用方法大全
  • JavaScript设计模式之工厂模式
  • Magento 1.x 中文订单打印乱码
  • PAT A1050
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • session共享问题解决方案
  • Vim Clutch | 面向脚踏板编程……
  • Windows Containers 大冒险: 容器网络
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 实战|智能家居行业移动应用性能分析
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 我看到的前端
  • 新书推荐|Windows黑客编程技术详解
  • 一道面试题引发的“血案”
  • 一文看透浏览器架构
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​虚拟化系列介绍(十)
  • !$boo在php中什么意思,php前戏
  • ###C语言程序设计-----C语言学习(3)#
  • $$$$GB2312-80区位编码表$$$$
  • (办公)springboot配置aop处理请求.
  • (笔试题)分解质因式
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (推荐)叮当——中文语音对话机器人
  • (一)python发送HTTP 请求的两种方式(get和post )
  • .jks文件(JAVA KeyStore)
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • [ C++ ] STL_vector -- 迭代器失效问题
  • []新浪博客如何插入代码(其他博客应该也可以)