亚洲综合极品香蕉久久网,久久夜精品综合缴情五月 ,亚洲动漫成人一区二区,国产在线不卡视频,国产丝袜精品不卡,亚洲乱码日产精品bd,久久久久久国产精品免费网站,亚洲综合av一区二区三区
×
新網 > 云服務器 > 正文

淺談PHP如何實現依賴注入(二)

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-05-10 18:02:33

現在我們就當已經實現了redisDB和cache這兩個組件,具體的細節這里就先不做討論了,來看看如何使用使用吧。首先需要將兩個組件注入到容器中:

 現在我們就當已經實現了redisDB和cache這兩個組件,具體的細節這里就先不做討論了,來看看如何使用使用吧。首先需要將兩個組件注入到容器中:

002UASMrzy7605pjKJv15&690.jpg

<div
到這里你可能會覺得這樣以來反而有點繁瑣了。cache和redisDB的結構如此之像,完全可以把redis寫到cache中而沒必要單獨分離出來?但是你想過沒有,有些數據及時性沒那么高而且數量比較大,用redis有點不合適,mongodb是更好的選擇;有些數據更新頻率更慢,對查詢速度也沒要求,直接寫入文件保存到硬盤可能更為合適;再或者,你的客戶覺得redis運維難度有點大,讓你給他換成memcache... 這就是為什么把它分離出來了。然后,繼續改進代碼:
 
我們新增加了一個接口BackendInterface,規定了redisDB,mongoDB,file這三個類必須實現這個接口所要求的功能,至于其他錦上添花的功能,隨你怎么發揮。而cache的代碼,好像沒有變,因為cache不需要關心數據是怎么存入數據庫或者文件中。而cache的調用者,也不需要關心cache具體是怎么實現的,只要根據接口實現相應的方法就行了。多人協作你會更加受益,你們只需要商定好接口,然后分別實現就行了。
 
以上代碼還可以繼續改進,直到你認為無可挑剔為止。比如,redis服務在一個請求中可能會調用多次,而每次調用都會重新創建,這將有損性能。只需擴展一下DI容器就好增加一個參數或增加一個方法,隨你。
 
這樣以來,如果某個服務在一次請求中要調用多次,你就可以將shared屬性設置為true,以減少不必要的浪費。如果你覺得每次在注入時都要setDi有點繁瑣,想讓他自動setDi,那可以這么做:
 
然后,就可以這樣:
 
我們現在所實現的這個DI容器還很簡陋,還不支持復雜的注入,你可以繼續完善它。不過,通過這些代碼你已經了解什么是依賴在注入了,你可以將這種思想應用到你的項目中,或者著手開發你自己的框架。
 
以上就是小編關于依賴注入知識的分享,后續我們會為大家更多知識干貨!
 

免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 色一情一乱一乱一区99av| 99福利资源久久福利资源| 免费国产黄网在线观看| 免费看一区二区三区四区| 日韩精品无码去免费专区 | 精品人妻潮喷久久久又裸又黄| 国产亚洲精品久久久久久老妇小说 | 国产成人精品s8视频| 午夜视频体内射.com.com| 最新的国产成人精品2020| 亚洲午夜无码久久久久蜜臀av| 亚洲国内精品av五月天| 久久国内精品自在自线波多野结氏 | 琪琪777午夜理论片在线观看播放| 国产成人午夜精品影院| 天堂va欧美ⅴa亚洲va| 国产成人拍拍拍高潮尖叫| 精品国产自在现线电影| 人人爽人人模人人人爽人人爱 | 欧美日韩无线码在线观看| 亚洲小说区图片区另类春色| 青青草国产精品一区二区 | 欧美成人精品a∨在线观看| 美女视频黄又黄又免费| 亚洲精品一线二线三线无人区| 伊人久久大香线蕉无码不卡| 九九精品成人免费国产片| 免费无码又爽又刺激高潮的漫画| 免费无码一区无码东京热| 天天做天天爱天天做天天吃中| 天天躁日日躁狠狠久久| 日本无码一区二区三区不卡免费| 国语自产视频在线| 人人鲁免费播放视频| 丰满熟妇乱又伦精品| 亚洲春色cameltoe一区| 久久婷婷狠狠综合激情| 国产成av人片久青草影院| 人妻少妇精品视中文字幕国语| 丰满日韩放荡少妇无码视频| 国产美女遭强被高潮网站|