买面包和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,有點像今天的買面包。
我們把買東西要排隊這個規矩定為一個類.
當我們自覺排隊時,
這樣,我們也能夠享受到排隊這個對象,僅僅只是對象由阿姨幫我們創建了而已。
以上就是我今天買面包引發的思考,假設當中有錯誤的地方,希望大家指出。
版權聲明:本文博客原創文章,博客,未經同意,不得轉載。
總結
- 上一篇: python-main
- 下一篇: odoo 中多币种处理(外币处理)