站長資訊網
        最全最豐富的資訊網站

        Laravel控制反轉的好處是什么

        在Laravel中,控制反轉的好處是能夠借助IOC容器將具有依賴的模塊或者對象進行解耦,如果指定的服務不合適使用時,不需要修改開發者定義的方法就可以通過指定的接口找一個合適的服務進行替換。

        Laravel控制反轉的好處是什么

        本文操作環境:Windows10系統、Laravel6版、Dell G3電腦。

        Laravel控制反轉的好處是什么

        laravel 自己本身就是一個IOC容器,也叫服務容器,

        服務容器就是管理類的依賴和執行依賴注入的工具

        控制反轉的作用就是實現模塊或對象的解耦,通過借助第三方將具有依賴的模塊或對象進行解耦,而這個第三方,就是IOC容器。

        容器嘛,就是儲存了需要的服務在里面,方便開發者調用。所以,Laravel為了方便管理這些服務(實現解耦)決定,不再直接調用這些服務,例如開發者定義了一個方法1,原本和服務B綁定,通過服務B實現,現在不要B了,而是定義了一個接口A,通過接口A去實現這個服務B。

        在這個過程中,服務B本來可以控制開發者的某個功能,現在開發者不直接調用這個服務了,而是換成了接口A,所以,該服務B對該項功能失去了控制權,而接口A獲得了該功能的控制權,這個過程就叫做控制反轉

        好處就在于

        如果該服務B不合適了,那么接口A可以找一個適合需求的其他服務替換上去,不用修改開發者的方法1,至于你接口A用的啥服務,我這方法也不用管。這個接口A要實現服務B,那實現服務B的類就得繼承這個接口A,在這個B類中實現接口A定義的抽象方法。

        這個接口A 也可以被看作該項服務的提供者。laravel中有多個服務提供者,他們組成相應的組件,多個組件形成這樣一個laravel框架

        既然接口A有了,接口BCDE那么多,要方便管理,就得給規定服務提供者的格式,方法參數,來約束他們的規則,這個概念就叫做:契約

        契約的好處:就在于,只要滿足約束規則,就可以按需求隨意替換,

        **Facades,**我們可以叫做門面,其實就是一組靜態接口或者代理,能讓開發者簡單的訪問綁定到容器中的各種服務。Laravel 里面自帶了一些 Facades,如Cache等。一個 Facade 就是一個類,使用這個類可以訪問到來自容器里的一個對象,這個功能就是在 Facade 類里面定義的。Laravel 的 Facades 還有任何你自己定義的 Facades,都會去繼承 Facade 這個類。通俗來說,你在類上方使用的use xxxx 都屬于門面,詳情看鏈接:https://www.jianshu.com/p/a96715975d4e

        那么,如果我要實現的服務這里沒有怎么辦,那就需要將新來的服務進行注冊和初始化,只有注冊到容器中了,容器才能調用它,這個工作由服務提供者來實現?;貧w正題

        那依賴注入是什么:開發者的這個方法1,定義了一個中間商接口A,這個接口A可以以參數形式,注入方法1所屬類1的構造方法中 儲存起來,這個過程就叫做依賴注入。

        只要不是由內部生產(比如初始化、構造函數 __construct 中通過工廠方法、自行手動 new 的),而是由外部以參數或其他形式注入的,都屬于依賴注入

        我們要如何做依賴注入呢?很簡單: $biller = new StripeBiller(new SmsNotifier);

        這就是一個依賴注入。賬單類 StripeBiller 不用考慮如何通知用戶,我們直接傳遞給它一個通知實現類 SmsNotifier

        的實例。從代碼角度來說,這可能只是個微小的變動,但這種設計模式的引入,絕對會使你的整個應用架構煥然一新:因為明確指定了類的職責邊界,實現了不同層和服務之間的解耦,你的代碼變得更加容易維護;此外,從面向接口編程的角度來看,代碼變得更加容易測試,你只需通過模擬注入依賴即可,不同類之間的測試完全可以隔離開來

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 99久久精品国产一区二区三区| 国产精品美女网站| 国内精品免费视频精选在线观看 | 精品国产一级在线观看| 韩国精品欧美一区二区三区| 亚洲欧洲国产精品香蕉网| 精品久久人人爽天天玩人人妻| 久久99精品国产一区二区三区| 久久国产亚洲精品无码| 亚洲欧美日韩另类精品一区二区三区 | 最新在线精品国自av| 精品日韩在线视频一区二区三区| 黑人精品videos亚洲人| 国产午夜精品一区二区三区漫画| 亚洲午夜精品久久久久久浪潮| 精品久久久久国产免费| 中文精品一卡2卡3卡4卡| 国产精品手机在线| 99精品国产高清一区二区麻豆| 久久精品天天中文字幕人妻| 中文字幕日本精品一区二区三区| 麻豆精品国产自产在线观看一区| 高清日韩精品一区二区三区| 在线观看日韩精品| 久久99热国产这有精品| 99久久国产综合精品麻豆| 国产精品亚洲日韩欧美色窝窝色欲| 亚洲国产精品无码中文字| 伊人精品视频在线| 亚洲精品成人区在线观看| 久久久久久久亚洲精品| 国产视频精品免费视频| 国产精品午夜免费观看网站| 国产精品婷婷午夜在线观看| 国产精品小视频免费无限app| 99精品国产成人一区二区| 四虎国产精品永久地址99| 日本精品中文字幕| 中文精品无码中文字幕无码专区| 久久精品无码一区二区app| 亚洲精品成人久久久|