无论是IoC还是AOP,不就是为了降低系统模块间的耦合吗,这样理解对不对?本人从ms刚转java..

解决方案 »

  1.   

    spring的核心功能除了解耦外还有兼容
      

  2.   

    主要两个功能:
    IOC/DI就是大家说的解耦还有一个功能就是提供业务级的事务管理
      

  3.   

    IOC:完成了类对象的生成以及类和类之间依赖关系的管理。将类本身以及依赖类生成对象的过程和功能从业务代码中解放出来(这些功能本来也不应该由业务类完成),这样就分清了职责。而且依靠面向接口编程,完成了类和类之间依赖的解耦。分清职责、依赖解耦得到的好处是:程序的扩展性、可维护性得到提高。其实我觉得这也是“依赖倒置原则”的一个体现。
    AOP:主要是弥补了面向对象编程缺点(继承等都是纵向方面),从横向方面将可能散列在程序不同角落里的代码几种管理起来,这样程序的维护成本大幅度降低(要修改就只修改一处即可)、扩展性也大幅度提高。
    语言概括的不是很好,希望能对楼主起到抛砖引玉的作用吧,继续交流。
      

  4.   

    除了解耦,还有面向切面编程(AOP),事务管理等等,spring不属于MVC模块,但能使MVC框架更好糅合。