IOC(控制反转)是设计原则,区别于代码写死流程和依赖的设计。
对于面向过程的编程,就是像河流一样的写法,控制就是整个程序的执行过程。
而对于面向对象的编程,这里的控制是流程的控制,控制也是功能模块。这里只说面向对象的编程。
DMI的模块分为:启动,行车,菜单操作。
启动和行车模块,每个车都不相同。
IOC要求,框架控制流程,而细节交给外部。这样启动和菜单,每个机型一个dll,主框架在配置文件中配置启动和菜单的接口,和对应的类,主程序VS项目的依赖引用中不会引用这些dll,而只是在启动的时候去注入启动和菜单的细节。