買麵包和IoC

2021-09-07 01:09:49 字數 1409 閱讀 1380

今天上午準備去乙個阿姨,在那裡買麵包。這可能是由於小尺寸她的,因此,管理不規範,所以,當你買麵包。沒有人行。即使所有的大學生,似幾乎沒有這種意識。。

但讓我感到震驚的是。儘管沒有排隊,但阿姨似乎能夠保證我們買麵包的公平性。方法是去買麵包的人,誰先叫買什麼,阿姨就會先賣給誰。無論你後來來買的人叫得都麼巨集亮。

阿姨都會先賣給先叫的人。

阿姨把每乙個人的順序都記住了,然後按這個順序給我們賣麵包。

對於這樣的方式。我個人是不贊同的。首先是假設人多了。阿姨可能就會非常麻煩。其次,這樣的方式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("排隊") ;

這樣,我們也能夠享受到排隊這個物件,僅僅只是物件由阿姨幫我們建立了而已。

以上就是我今天買麵包引發的思考,假設當中有錯誤的地方,希望大家指出。

龐加萊買麵包的故事(二)

龐加萊接下來的一段時間裡每天都去這家麵包店買麵包,並認真記錄每個麵包的質量,記錄資料如下 以上資料的平均值為1002.6g,而麵包的質量分布應該是以1000g為期望,50g為方差的正態分佈。按照之前龐加萊的說法,當獲得的資料越多,這些資料的平均值就越接近於期望的1000g。如同投擲骰子100次,點數...

IOC理論和原理

維護物件之間複雜的依賴關係,降低系統實現成本,a b c d 無參構造 有參構造 靜態工廠 通過引數控制建立物件的型別,用於ab測試 factorybean 如spring繼承mybatis的sqlsessionfactorybean,用於spring繼承第三方 set方法注入 構造方法注入 自動注...

測試驅動開發和IOC

我們說測試驅動可以是xp的一部分,xp講究的是適當設計 很多時候被人理解為不設計或草設計 同樣要實現tdd也要進行設計,這個設計就要考慮到 的可測試性,這就是我們所說的利於測試的設計。mock物件的提出和mock工具的使用又為我們提供了隔離測試 模擬複雜物件的平台。有時我們的 會讓mock物件也無能...