zoukankan      html  css  js  c++  java
  • 买面包和IoC

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

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

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

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

            对于这样的方式。我个人是不赞同的。首先是假设人多了。阿姨可能就会非常麻烦。其次,这样的方式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("排队") ;

    这样,我们也能够享受到排队这个对象,仅仅只是对象由阿姨帮我们创建了而已。


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




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

  • 相关阅读:
    关于 Xpath 定位
    关于安全渗透测试
    hashlib python 加密框架
    Flask pythn Web 框架总结
    HTMLTestRunner 报告框架使用
    Unittest
    随笔-关于飞机维修检测-想到的
    LoadRunner 工具使用
    Appium
    ak发大水发
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4639364.html
Copyright © 2011-2022 走看看