1、简介

软件开发有一个原则叫【依赖倒置Dependence Inversion Principle 】

A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。

B.抽象不应该依赖于具体实现,具体实现应该依赖于抽象。

Xamarin.Forms在面对无法实现的平台特有功能时就是使用以上原则设计一个叫【DependencyService】的功能。DependencyService的目的就是让PCL共通代码可以调用与平台相关的功能,它使Xamarin.Forms能像原生应用一样做任何事情!

2、工作原理

大数据培训,云培训,数据挖掘培训,云计算培训,高端软件开发培训,项目经理培训

  • 接口:定义功能接口在PCL类库或者共享类库

  • 接口实现:各个平台实现接口功能

  • 注册:各个平台实现接口的类库注册DependencyAttribute属性

  • 调用:PCL类库或者共享类库调用DependencyService.Get<接口>()方法获取平台实例对象

稍微看看原代码了解Xamarin.Forms如何实现依赖注入

DependencyAttribute.cs文件,定义了程序集属性标签:

大数据培训,云培训,数据挖掘培训,云计算培训,高端软件开发培训,项目经理培训

        		

网友评论