1、簡介

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

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

B.抽象不應該依賴于具體實現,具體實現應該依賴于抽象。

Xamarin.Forms在面對無法實現的平臺特有功能時就是使用以上原則設計一個叫【DependencyService】的功能。DependencyService的目的就是讓PCL共通代碼可以調用與平臺相關的功能,它使Xamarin.Forms能像原生應用一樣做任何事情!

2、工作原理

大數據培訓,云培訓,數據挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經理培訓

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

  • 接口實現:各個平臺實現接口功能

  • 注冊:各個平臺實現接口的類庫注冊DependencyAttribute屬性

  • 調用:PCL類庫或者共享類庫調用DependencyService.Get<接口>()方法獲取平臺實例對象

稍微看看原代碼了解Xamarin.Forms如何實現依賴注入

DependencyAttribute.cs文件,定義了程序集屬性標簽:

大數據培訓,云培訓,數據挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經理培訓

        		

網友評論