
Sign up to save your podcasts
Or
1 IOC 是控制反转, Inversion of Control。
2 控制反转不是一种语法,不是类或方法,它是一种设计模式
3 当A类依赖于B类,如果不使用控制反转,A类要主动创建B类的对象,也就是new B类,这时候控制权在A类的手中,这就是主动控制; 使用控制反转,A类只要声明自己需要B类,而控制权交给Spring容器,Spring容器在A需要B类的时候为其注入B类即可,这时候控制权在Spring容器手中,即控制反转了。
4 好处是什么呢?控制反转后A类与B类的耦合性就降低了,程序更加灵活。
5 比如,一家公司为了卫生和清洁,需要有人打扫卫生,这家公司可以自己聘用一个保洁,就是将管理保洁的权利控制在自己手中,自己new一个保洁,那么这个保洁请假、调休、年终福利、婚丧嫁娶都要操心,太麻烦了,公司和这个保洁紧紧地绑在 一起,给公司带了了很大的负担。
公司决定采用控制反转模式,将保洁管理的权限交给物业来做,自己需要保洁的时候,由物业来分配一个保洁即可,公司和保洁直接就就没有什么关系了,松耦合了,这时候物业公司就是Spring容器,公司将保洁的控制权反转给了物业公司,当公司需要保洁的时候,物业公司将一个保洁注入到公司即可。
这就是控制反转模式。
1 IOC 是控制反转, Inversion of Control。
2 控制反转不是一种语法,不是类或方法,它是一种设计模式
3 当A类依赖于B类,如果不使用控制反转,A类要主动创建B类的对象,也就是new B类,这时候控制权在A类的手中,这就是主动控制; 使用控制反转,A类只要声明自己需要B类,而控制权交给Spring容器,Spring容器在A需要B类的时候为其注入B类即可,这时候控制权在Spring容器手中,即控制反转了。
4 好处是什么呢?控制反转后A类与B类的耦合性就降低了,程序更加灵活。
5 比如,一家公司为了卫生和清洁,需要有人打扫卫生,这家公司可以自己聘用一个保洁,就是将管理保洁的权利控制在自己手中,自己new一个保洁,那么这个保洁请假、调休、年终福利、婚丧嫁娶都要操心,太麻烦了,公司和这个保洁紧紧地绑在 一起,给公司带了了很大的负担。
公司决定采用控制反转模式,将保洁管理的权限交给物业来做,自己需要保洁的时候,由物业来分配一个保洁即可,公司和保洁直接就就没有什么关系了,松耦合了,这时候物业公司就是Spring容器,公司将保洁的控制权反转给了物业公司,当公司需要保洁的时候,物业公司将一个保洁注入到公司即可。
这就是控制反转模式。
178 Listeners
264 Listeners
289 Listeners
262 Listeners