谷歌資深架構師李聰:Asynchronous Dependency Injection
原創(chuàng)2015年4月10-11日,由51CTO傳媒主辦的WOT2015互聯(lián)網運維與開發(fā)者大會在北京珠三角JW萬豪酒店召開。秉承專注技術、服務技術人員的理念,自2012年以來,WOT品牌大會成功舉辦了五屆,積累了大量的技術專家資源,獲得了廣大IT從業(yè)者和技術愛好者的一致認可,成為了業(yè)界重要的技術分享交流平臺以及人脈拓展平臺。
本次會議分為10個技術主題,分別是:數(shù)據(jù)庫技術與應用,企業(yè)運維安全、運維自動化系統(tǒng)的構建、應用性能監(jiān)測與管理、APP架構與運維、電商網站的高并發(fā)保障、游戲開發(fā)與運維、大數(shù)據(jù)與運維、云計算架構與運維、開源運維工具研發(fā)與實踐。51CTO作為本次大會的主辦方,將全程圖文直播報道與后期視頻展示這場盛宴。
下面是來自谷歌美國總部資深架構師李聰為大家分享《Asynchronous Dependency Injection》的精彩演講。
李聰先生在演講剛開始的時候,做了一個小小的廣告,我們是搞Asynchronous,Dependency,Injection,有興趣可以發(fā)我郵箱。之后,和大家探討一下對異步DI***的期待值是什么樣子的?
李聰先生分享里一段DI,里面有一些代碼,不是特別多,但是講的比較細致。主要的功能是叫做SK Angle,是給客戶提供一個廣告流,有一個公有函數(shù),名字叫做Computer,如果調用這個公有函數(shù)的話,會給你返回一系列的廣告,有什么樣的,拿到內容去Show給用戶。這個公有函數(shù)我省略了很多,***步我會生成一個LOG對象,我做這個廣告計算的時候,我可能時不時的需要對這個計算結果,對這些做一些日志的記錄,這個Computer code這一塊我就省略掉了,***把計算的結果返回給客戶端。
在***,李聰先生分享了一段代碼,并且說這類business log是需要計算廣告流的,而不需要關心我需要什么樣的日志對象,這個根本不是他的業(yè)務,他的主營業(yè)務是說我要計算這個廣告流在什么情況下我應該做什么樣的log,這個其實應該是一個我拿過來就用的,這一段代碼不是Computerlog。
那么有什么解決方案呢?剛才說我只要說在這個函數(shù)里面我要生成一個對象,就表明我對這個對象有依賴性。它的解決方案是dependency Injection,就是說最基本的原理是如果說我有一個依賴,那么,請把我這個依賴注入進來,不管這個依賴怎么來了,我來注入,你來搞定,這是我們現(xiàn)存的,而且有很多。
以上是51CTO.com記者從一線為您帶來的精彩報道。后續(xù)我們還有更加精彩的獨家報道,敬請關注。