談談我眼中的IOC
控制反轉(IOC)。
什麼是控制反轉
那麼這裡就涉及到了兩個詞,控制與反轉,什麼控制什麼,什麼被反轉了?
在普通的程式設計中,如果我們需要一個物件,就會這個樣子:
Object obj=new Object();
這樣就是通過我們手工來建立一個物件,是我們主動去建立,也就是由程式設計師來控制物件的產生。
那麼據此可知,控制反轉就是物件的控制權被移交給了一個第三方,由第三方來控制物件的產生銷燬等等。
為什麼需要控制反轉
軟體工程的目標是:在給定成本、進度的前提下,開發出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性和滿足使用者需求的軟體產品。
以上來源於百度百科,那麼在這裡我就談談我自己的想法,我們開發軟體,都是追求更高的內聚,更低的耦合,而把物件的控制權交由第三方,讓第三方去維護物件之間的關係,能讓各個物件之間的耦合不那麼緊密,從而有利於我們維護軟體。
個人觀點,如有錯誤敬請指出!
相關推薦
談談我眼中的IOC
控制反轉(IOC)。 什麼是控制反轉 那麼這裡就涉及到了兩個詞,控制與反轉,什麼控制什麼,什麼被反轉了? 在普通的程式設計中,如果我們需要一個物件,就會這個樣子: Object obj=new Object(); 這樣就是通過我們手工來建立一個物件,是我們主動去建立,也就是由程式
談談我眼中的CSDN吧
昨天逛部落格園看到了這篇曝光率很高的文章:部落格搬家——從CSDN到部落格園,一篇短短的文章竟然招致這麼多人的討論,可能程式設計師就喜歡“Java好還是PHP好”這型別的問題吧,好無聊。由於我一直在使用CSDN,因此對於博主的大部分描述也有所共鳴,承認CSDN的確有種種不盡人意的地方。可是仔細想了下,如果CS
談談我眼中的補碼
導讀:補碼是如何產生的、計算機如何表示負數。 1.前提認知 (1)計算機中只有加法器,加減法使用的都是加法器,同時計算機通過加法器左移累加實現乘法運算、右移累減實現除法運算。 (2)補碼是一種編碼格式,它不是真實的數字。 我在之前的文章《從電晶體開始聊聊計算機為什麼採用二進位制》
基於surging 的stage元件設計,談談我眼中的微服務。
一、前言 隨著業務的發展,併發量的增多,業務的複雜度越來越大,對於系統架構能力要求越來越高,這時候微服務的設計思想應運而生,但是對於微服務需要引擎進行驅動,這時候基於.NET CORE 的微服務引擎surging 就誕生了。 1.那麼怎麼樣去理解微服務呢? 微服務
談談我對Spring IOC的理解
反轉 頻率 註解 改變 enc encoding 圖1 1.3 ram 轉自京東開濤大神的微博,這是我看過最好的對IOC DI的解釋. 學習過Spring框架的人一定都會聽過Spring的IoC(控制反轉) 、DI(依賴註入)這兩個概念,對於初學Spring的人來說,總
談談我對Spring IOC與DI的理解
IOC是一種叫做“控制反轉”的設計思想。 1、較淺的層次——從名字上解析 “控制”就是指對 物件的建立、維護、銷燬等生命週期的控制,這個過程一般是由我們的程式去主動控制的,如使用new關鍵字去建立一
尚學堂java培訓怎麽樣?談談我在尚學堂學習的心得體會
培訓機構 尚學堂 參加尚學堂java培訓班有一段時間了,今天有點時間,來分享下這段時間在尚學堂學java的心得體會。 學java編程很枯燥也很乏味,每天就是對著電腦敲寫著代碼,一行行代碼在電腦鍵盤的敲擊下就如同壘城堡一般,必須很專註很認真仔細,因為稍不留神一個標點符號,或者大小寫一點點小錯誤
談談我對Linux系統學習的歷程回顧
linux眾所周知,Windows 和Linux 是目前最流行的2個操作系統。Windows系統適合普通用戶,它的優勢是圖形化界面,簡單易用,使用起來門檻很低,很容易上手,所以,windows占有了大多數普通用戶群體。而Linux 被譽為黑客的操作系統,因其穩定和命令行操作的高效性而廣泛用於開發工作,占有絕大
我眼中的軟件項目實施(一)
項目實施 軟件開發 工作環境 互聯網 軟件測試 隨著互聯網+時代的到來,相信大家對IT軟件已經不再陌生,尤其是企、事業用戶,會涉及到很多大型的數字辦公信息系統,而這些軟件系統項目的實施,需要職業的實施團隊來完成。通俗來講,軟件開發將開發出相應的軟件,解決對應的需求;軟件測試是對已開發的軟件
談談我對Android View事件分發的理解
event 調用 ack 處理 group ans import ras 運行 寫這篇博客的緣由。近期因為項目中用到相似一個LinearLayout中水平布局中,有一個TextView和Button,然後對該LinearLayout布局設置點擊事件。點擊
我眼中Citrix在雲時代的價值與位置 ---- 我的封筆之作
cloud transformation註:文中的很多思想來自於Alan Huang,特此鳴謝。Why Cloud?傳統在剛工作那會,無論是自己所在公司還是國內的企業都還是在上各種業務系統階段,從最基礎的數據庫,中間件,活動目錄,郵件系統到大一些公司上的SAP,CRM系統,可以說10-20年前中國的企業對於I
也談談我對Docker的簡單理解
linux 安全性 看到了 用戶 總結 們的 部分 占用 ont Docker能解決什麽問題呢?一個工具的出現必然需要解決一些問題,Docker也不例外,簡單說說我們常見的2種情況Docker是如何解決的吧。1、程序在我這跑得好好的,在你那怎麽就不行呢?!這是一個典型的應用
(原創)我眼中的設計模式系列之簡單工廠模式(一)
int 業務 text 們的 acc 現在 rgs sub reat 簡單工廠模式 在日常的軟件開發中,我們一般都是按照模塊來劃分工作的。 場景一: 試想我們現在有這麽一個模塊,為其他的模塊提供服務,比如說我們調用了好幾個外部接口,統一返回XML字符串,每個接口返回
我眼中的人人都需要學點編程——我的信息之路之八
設計時 ogr 大學 電子 class 程序 收費 學生 自己的 近來網絡上開始流行一種說法——“人人都需要學點兒編程”,各種正式的,專業的解釋非常之多,但那些高大上的說明未必人人都能深刻理會,這幾天我在不斷反省自己的編程學習之路時,也領悟到,是的,人人都需要學點編程—
談談對Spring IOC的理解
建立 evel 引用 多功能 適合 reflect 而不是 角色扮演 不容易 轉自京東開濤大神的微博,這是我看過最好的對IOC DI的解釋. 學習過Spring框架的人一定都會聽過Spring的IoC(控制反轉) 、DI(依賴註入)這兩個概念,對於初學Spring的人來
開篇-我眼中的FPGA
rto 不同的 既然 容易 mcu 無限 掌握 lin 高手 既然是開篇,那就來閑話叨一叨FPGA吧。 掰掰指頭,結識FPGA估計有5年多。作為嵌入式工程師,每天的日常充斥著ARM、DSP、操作系統、通訊、總線等耳熟能詳的詞匯,日日徜徉其中,而這當中,最特立獨行的就是FPG
談談我對多態的理解?
哪些 extends 對象 構造方法 bsp 自己的 ext 調用 根據 舉例: 父類:Person{} 子類:Child extends Person{} 父類的引用指向子類的對象:Person p = new Child(); 理解:在編譯期認為p是父類的對象,在運
互聯網時代,我眼中的架構變遷
計算 微型機器人 訪問量 water 提取 csdn 優點 常見 代碼 互聯網在變,架構也在變,架構的變遷亦是互聯網的變遷。所以,我們有必要來聊聊互聯網的架構及其變遷。 何為架構?往大的說,宇宙有架構,社會有架構,往小的說,建築要有架構,軟件要有架構,往玄乎的說,它由分工
談談我和軟件工程的故事
登錄 心態 ron 成就 命運 老師 積累 經歷 分數 我時常有思考過我與軟件工程這個專業的事,總體來說我覺得更多的是一種因緣。 我是一個對萬事萬物都抱有好奇心的人,所以我可以很負責說至今為止我還挺喜歡這個專業,但熱愛,那真的談不上。我至今也不太清楚熱愛一件東西是一種什麽感
談談我對構建之法這三章的理解
閱讀 學習者 單元 繼續 挑戰 有時 個人 相關 的人 前言 在第一次作業中我便提過,剛進入大學時,我對未來充滿了憧憬,我的人生有著很好的規劃,也像我所規劃的那樣,我的大一過著學習,技術,學生工作有條不紊運行的狀態,可是後來為了學生工作放棄了工作室,後來又因為一些原因失