今天,听别人讲了一下关于基于spring框架的设计,期间主要讲了框架的特性:ioc和aop,即控制反转和面向切面的编程,这是spring的核心所在。
springioc,控制反转,依赖注入作为其特例,其实和我们上一个项目中用到的c#的反射机制很像,依赖xml配置对类进行实例化,这样使程序的耦合度降低,提高程序的测试度和可读性。
aop,面向切面的编程思维,在程序某处加入切点,然后在切点所定义的方法前或者后可以根据配置要求加入其他的方法,这个比较经典的例子就是程序的日志,通常的做法是每次程序中的一个方法执行完后就要写日志,日志通常是指示程序执行是否到位,如果程序方法多的话那就会实时调用日志,这样看起来程序就比较臃肿,不便于阅读和构建,而aop则很好的解决了这个问题,当程序需要写日志了,就告诉框架,我需要什么样的日志,之前还是之后,框架会自动生成日志然后交给你,所有的构建日志都是框架完成的。
网友评论