美文网首页
33 MVC,AOP,IOC和DI

33 MVC,AOP,IOC和DI

作者: 张力的程序园 | 来源:发表于2020-10-15 13:36 被阅读0次

    问题:

    解释一下MVC,AOP,IOC和DI

    答案:

    MVC:model-view-controller的简称,即模型-视图-控制器。前端传过来一个请求,找到对应的控制器接受用户的请求,再调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。springmvc,struts2甚至servlet都是MVC的实现。
    AOP:Aspect Oriented Programming,即 面向切面编程,是OOP(Object Oriented Programing,面向对象编程)的补充和完善。OOP允许定义从上到下的关系,但并不适合定义从左到右的关系。例如日志、权限、事务等功能。这种分散在各处的无关的代码被称为横切(cross cutting)代码,在OOP设计中,它将导致了大量代码的重复,而不利于各个模块的重用,而AOP将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为"aspect", 即切面,再将切面通过代理织入到业务逻辑代码执行的前后,从而又完成了通用模块和业务逻辑在执行上的耦合。
    IoC:inversion of control,即控制反转。把以前由程序员创建和管理对象的权利翻转给spring容器,由spring来负责控制对象的生命周期和对象间的关系,使得程序员集中精力于业务逻辑。动态地向某个对象提供它所需要的其他对象,这一点是通过DI(Dependency Injection, 依赖注入)来实现的,spring就是通过反射来实现注入的。
    总而言之,MVC阐述了前后端交互的请求和响应过程;AOP是对OOP的补充和完善,两者都实现了了开闭原则;IoC提供了对象的第三方管理,DI是动态的引入被spring容器管理的对象。

    相关文章

      网友评论

          本文标题:33 MVC,AOP,IOC和DI

          本文链接:https://www.haomeiwen.com/subject/fhhxuhtx.html