1、簡(jiǎn)介

軟件開(kāi)發(fā)有一個(gè)原則叫【依賴倒置Dependence Inversion Principle 】

A.高層次的模塊不應(yīng)該依賴于低層次的模塊,他們都應(yīng)該依賴于抽象。

B.抽象不應(yīng)該依賴于具體實(shí)現(xiàn),具體實(shí)現(xiàn)應(yīng)該依賴于抽象。

Xamarin.Forms在面對(duì)無(wú)法實(shí)現(xiàn)的平臺(tái)特有功能時(shí)就是使用以上原則設(shè)計(jì)一個(gè)叫【DependencyService】的功能。DependencyService的目的就是讓PCL共通代碼可以調(diào)用與平臺(tái)相關(guān)的功能,它使Xamarin.Forms能像原生應(yīng)用一樣做任何事情!

2、工作原理

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開(kāi)發(fā)培訓(xùn),項(xiàng)目經(jīng)理培訓(xùn)

  • 接口:定義功能接口在PCL類庫(kù)或者共享類庫(kù)

  • 接口實(shí)現(xiàn):各個(gè)平臺(tái)實(shí)現(xiàn)接口功能

  • 注冊(cè):各個(gè)平臺(tái)實(shí)現(xiàn)接口的類庫(kù)注冊(cè)DependencyAttribute屬性

  • 調(diào)用:PCL類庫(kù)或者共享類庫(kù)調(diào)用DependencyService.Get<接口>()方法獲取平臺(tái)實(shí)例對(duì)象

稍微看看原代碼了解Xamarin.Forms如何實(shí)現(xiàn)依賴注入

DependencyAttribute.cs文件,定義了程序集屬性標(biāo)簽:

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開(kāi)發(fā)培訓(xùn),項(xiàng)目經(jīng)理培訓(xùn)

        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式