做事要反復(fù)確認(rèn)好幾遍 自動(dòng)注入到底比new好在哪?
自動(dòng)注入到底比new好在哪?控制反轉(zhuǎn)和容器IOC只能看作是一種編程思想。在理想狀態(tài)下,可以實(shí)現(xiàn)自動(dòng)注射和生命周期管理。但在實(shí)際的開發(fā)中,我個(gè)人覺得有時(shí)不如新的方便,我主要遇到以下問題:1。編寫大量的配
自動(dòng)注入到底比new好在哪?
控制反轉(zhuǎn)和容器IOC只能看作是一種編程思想。在理想狀態(tài)下,可以實(shí)現(xiàn)自動(dòng)注射和生命周期管理。但在實(shí)際的開發(fā)中,我個(gè)人覺得有時(shí)不如新的方便,我主要遇到以下問題:
1。編寫大量的配置和構(gòu)造函數(shù)要比編寫新的更麻煩,特別是對(duì)于某些函數(shù)來說,只需一次。原來,new可以一次性完成,但是如果要使用依賴注入,還需要編寫配置
2。當(dāng)需要注入更多的類時(shí),構(gòu)造函數(shù)就像老婦人的裹尸布一樣臭,一樣長(zhǎng)。關(guān)鍵是以前用過的一些類現(xiàn)在不用了,你要手動(dòng)清理構(gòu)造函數(shù),這比new要麻煩多了
3。這也是最重要的一點(diǎn),有時(shí)候項(xiàng)目很復(fù)雜,會(huì)遇到循環(huán)注入的問題。也就是說,A依賴B,B依賴C,C依賴A,這種情況說明架構(gòu)的存在是不合理的。在這一點(diǎn)上,你可以重構(gòu)系統(tǒng),也可以不依賴依賴依賴注入,直接用新的方法來解決它。]因此,依賴注入只是一種編程思想,有一些高級(jí)的性質(zhì),但不是。它是萬能的。它存在的意義是脫鉤。從宏觀上講,就是要解決多人共同開發(fā)一個(gè)項(xiàng)目時(shí),各自獨(dú)立的模塊,減少相互之間的依賴和干擾。從微觀的角度看,有幾個(gè)類是密切相關(guān)的。雖然文件是獨(dú)立的,但是功能是集成的。在這個(gè)時(shí)候,脫鉤是沒有意義的。為什么不是新的?
因此,我個(gè)人理解依賴注入與引擎是一樣的。發(fā)動(dòng)機(jī)由幾個(gè)主要部件組成。這些組件之間是解耦的,可以通過依賴注入來實(shí)現(xiàn)。對(duì)于單個(gè)組件的內(nèi)部部件和螺釘,必須使用依賴注入來實(shí)現(xiàn)它們。這比收益多一點(diǎn)。使用new來實(shí)現(xiàn)它們要方便得多。。。[Pick nose][Pick nose][Pick nose][Pick nose][Pick nose][Pick nose
指C新對(duì)象和直接聲明對(duì)象之間的區(qū)別,如下所示:
1。必須通過指針接收新對(duì)象,并且必須銷毀要顯示的刪除。
2. 效率問題
直接定義更有效。頻繁的調(diào)用域合并不適合于新的調(diào)用域合并,因此總是需要申請(qǐng)內(nèi)存釋放,系統(tǒng)開銷較大。
3. Scope
new中的對(duì)象指針可以在方法之間傳遞,并且該對(duì)象指針指向的堆中的對(duì)象實(shí)例仍然存在。直接聲明的對(duì)象是本地的,沒有方法。
4. 內(nèi)存分配時(shí)間
以普通方式創(chuàng)建的類對(duì)象在創(chuàng)建之初就分配了內(nèi)存空間。如果對(duì)象沒有初始化類指針,則不需要通過delete釋放它。
c new和直接定義有什么不同?
雖然下面的許多答案往往收效甚微,但如果你只背誦一次,看不出有多大效果,但如果你能背誦,當(dāng)他們說出最后一句話時(shí),你就可以得到下一句話,效果會(huì)有所不同。俗話說,讀一百遍的意義是顯而易見的。有了語感和大量的練習(xí),英語可以很快提高。
我印象中有一個(gè)故事(好像在新東方流傳了很久)。一位新東方的學(xué)生從高一開始就背誦《新概念英語》,高三時(shí)讀完1-3冊(cè),最終以高英語成績(jī)進(jìn)入北京大學(xué)。他不想在大學(xué)畢業(yè)后背誦。但有一次,當(dāng)他向同學(xué)們背誦新概念時(shí),其他人都羨慕他。為了這個(gè)虛榮心,他開始背誦第四卷。
他可以從任何一句話中挑出上一句話或下一句話。后來,他被杜克大學(xué)錄取了。教授懷疑他剽竊了他在美國(guó)寫的第一篇文章。因?yàn)檫@位教授教了20多年書,從來沒有人寫過這么漂亮的文章。
他說:“我不能證明我能寫這么好的文章,但我告訴你,我能非常熟練地背誦新概念英語。你想聽嗎?”
結(jié)果,教授在背誦完這兩篇文章之前差點(diǎn)哭了。因?yàn)檫@位教授認(rèn)為自己教書20多年,從來沒有背誦過一篇文章,但中國(guó)學(xué)生可以背誦新概念。太可惜了
!我不知道這個(gè)故事有沒有夸張,但我個(gè)人認(rèn)為經(jīng)典一定有它的優(yōu)點(diǎn)。熟練地背誦經(jīng)典一定會(huì)使你受益匪淺。