博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
买面包和IoC
阅读量:6715 次
发布时间:2019-06-25

本文共 1190 字,大约阅读时间需要 3 分钟。

        今天上午准备去一个阿姨,在那里买面包。这可能是由于小尺寸她的,因此,管理不规范,所以,当你买面包。没有人行。即使所有的大学生,似几乎没有这种意识。。

        但让我感到震惊的是。尽管没有排队,但阿姨似乎能够保证我们买面包的公平性。方法是去买面包的人,谁先叫买什么,阿姨就会先卖给谁。无论你后来来买的人叫得都么宏亮。

阿姨都会先卖给先叫的人。

阿姨把每一个人的顺序都记住了,然后按这个顺序给我们卖面包。

        对于这样的方式。我个人是不赞同的。首先是假设人多了。阿姨可能就会非常麻烦。其次,这样的方式easy导致客户不满的情绪。由于“队列”在阿姨的脑袋里,客户看不到,对于新来的客户,

可能会有点反感。熟客可能就会理解。

所以还是希望阿姨能换种方式(事实上作为大学生的我们,为什么不自觉排队呢)。

        阿姨买面包的方式让我想起了IoC。

曾经学习Spring的时候,对这个概念特别不理解。有时甚至发现,学习Struts2和Hibernate的时候。都能大概知道他们做什么。而对于Spring,却不知道

能够做什么,后来学到设计模式和软件project,才对Spring有一丁点理解。

        首先我说说我理解中的IoC是什么。IoC,英文全称是Inversion of Control。Inversion在英文里的意思是:n. 倒置;反向;倒转

假设按这样理解,IoC就是让控制进行反转的东西,那么是对什么控制呢?后来了解到是对对象的创建的控制。

例:

--------------------------------

我们平时编程。创建一个对象是这样创建的:

Object obj = new Object() ;
这是一种直接的控制。我想new什么就new什么,对象创建的控制权在我手中。

而假设使用了Spring框架之后,对象就是这样创建的:

Object obj = beanFactory.getBean("obj") ;
对象不能由自己new了。而是交给了IoC容器new了。程序中发送一条"obj"的话,IoC容器就依据这句话。给我们返回一个我们须要的对象。借用书本上引用好莱坞的一句话:"Don't call me, I'll call you."

不须要自己创建对象,仅仅要你告诉容器,容器帮你创建。

以上是我理解的IoC,有点像今天的买面包。

我们把买东西要排队这个规矩定为一个类.

当我们自觉排队时,

QueueRole role = new QueueRole() ;
当我们不须要排队,阿姨帮我们排好队时:

QueueRole role = 阿姨.getBean("排队") ;
这样,我们也能够享受到排队这个对象,仅仅只是对象由阿姨帮我们创建了而已。

以上就是我今天买面包引发的思考,假设当中有错误的地方,希望大家指出。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的文章
[Windows Azure] How to Scale an Application
查看>>
RC4 in TLS is Broken: Now What?
查看>>
linux下core文件调试方法
查看>>
Tensorflow动态seq2seq使用总结(r1.3)
查看>>
ZOJ 3659 Conquer a New Region(并查集)
查看>>
艾伟:Chart Controls 简介与下载点
查看>>
【中文分词】最大熵马尔可夫模型MEMM
查看>>
CDOJ 1330 柱爷与远古法阵【高斯消元,卡精度】
查看>>
Tech Tip: Really Simple HTTP Server with Python
查看>>
Win7 在安装vs2010后向sql2008添加SQL_Server_Management详解
查看>>
hdu 4686 Arc of Dream
查看>>
通过盘古分词自定义规则功能实现软件版本号的提取
查看>>
jsoup爬取网站图片
查看>>
File Explorer下的/data/data/Package Name目录
查看>>
一、NoSQL入门概述
查看>>
JVM总结-内存监视手段及各区域内存溢出解决
查看>>
区块链技术未来注定将改变我们的生活!
查看>>
vGPU 7.X新特性解读,NVIDIA为何力推虚拟GPU?
查看>>
简单的区块链开发入门:Hyperledger Iroha介绍
查看>>
苏宁双十一超燃庆功趴刷爆朋友圈,网友:想去苏宁当员工!
查看>>