一.依赖倒置原则介绍
1.依赖倒置原则:针对抽象编程,不要针对实现编程; 英文全称是Dependence Inversion Principle,缩写是DIP 依赖倒置原则则有以下关键点: ___高层模块不应该依赖底层模块,两者都应该依赖其抽象; ___抽象不应该依赖细节。 ___细节应该依赖抽象(抽象类/接口)。 2.生活中的依赖倒置 手机,电池,充电宝:我们生活中的三样物品,它们之间就存在依赖的两种关系。 高层依赖于底层: 手机厂商制作手机的外形,电池是第三方公司制作的,当手机外形设计完毕后,就会根据设计稿,生产对应的电池,相互配套。当手机上市以后,如果手机需要更换电池,这个电池必须是同型号的电池才可以更换。 这种情况就是“高层依赖于底层”=>某型号的手机依赖于某型号的电池。 高层和底层都依赖于抽象: 充电宝本身是依赖于“抽象”,这里的抽象指的就是USB 接口规则。 手机是依赖于该规则生产的,另外充电宝也是按该规则生产,充电宝就可以和任何品牌的手机配套使用,完成充电的功能。 这种情况就是“高层底层都依赖于抽象”=>手机,充电宝都依赖于USB。 3.依赖倒置原则的好处: 采用依赖倒置原则可以减少类间的耦合性,提高系统的稳定,降低并行开发引起的风险,提高代码的可读性和可维护性。
二.Unity 引擎依赖倒置
之前早期开发游戏: Android 平台的游戏,需要使用Eclipse 开发,只能运行于Android 平台; IOS 平台的游戏,需要使用XCode 开发,只能运行于IOS 平台; 因为编写这些游戏时,使用的代码,都是各个平台提供的针对性的API。 高层依赖于底层:开发游戏需要依赖于该平台的底层API。 Unity 开发游戏: 使用C#开发一个版本,稍作调整就能发布到N 个平台。 在我们发布成不同平台的游戏的时候,Unity 本身就做了一个“对接”的任务,把我们的代码里面的API,对接到该平台上相应的API。 高层和底层都依赖于抽象:我们的游戏是依赖Unity 的,各个平台的API 也是Unity 完成对接任务的。