今天学习robotlegs,碰到了依赖注入问题,作为一个没有写过java程序的ASer,对这些东西感到很深奥。于是搜索了下,百科这样解释道:
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。
说白了,就是类A要使用类B,那么类A就依赖于类B,把B的实例赋值给A的属性的过程就是依赖注入,A.b = new B()就是了。虽然这么写,可以实现注入的目的,但是不够灵活,不能动态的注入A.b,所以就有了一些依赖注入的框架:比如java的Spring、Robotlegs用的SwiftSuspenders。SwiftSuspenders是利用describeType动态获取metadata实现注入的。
有时候,名字叫的很响亮,听起来很吓人,其实很简单。
今天有接触了反射的概念,为何叫反射,我一直很困扰,暂且这么理解吧:通过字符串反向查找,找出类、属性、方法等。