关于不使用i o c和ao p的一些感悟

1、如果不使用spring来构建bean的依赖关系,自己构建的话,第一:如果想整个项目中存在的一个单例,通过new的方法来构建,那么整个项目存在大量的代码耦合比如a中new了一个obj,其他对象想引用这个obj,就不的不耦合引用a对象来获取obj,这就导致了很多类和a耦合。如果为了解决这个耦合代码问题,可以在需要ob j对象中直接new这个ob j,但是这样会有很多不必要的对象创建,造成内存空间的浪费。除了内存空间的浪费,也会让一些资源难以控制,比如说ob j里面用、有一个方法调用一个查询很快的数据库连接,本来系统使用这个连接就可以的,但是很多地方都创建了这个ob j,导致了数据库连接的浪费。

2、比如不使用aop,做一个请求参数日志输出的功能的话。 需要在每个方法业务执行前写参数输出日志代码,因为日志输出代码的话都是通用性的,可以把功能抽到一个方法,这样就可以解决很多代码冗余,但是对于业务开发人员来说不太友好,因为这些是系统功能的代码,开发人员应该只关注写业务代码,为了解决这个问题所以有了aop的出现。

aop的设计:把代理方法放到一个list里面。执行的时候先调用第一个代码方法,然后第一个代码方法调用第二个代码方法,直到最后一个代码方法时,才调用代理的对象方法。(除了这种ao p实现还有其他的吗?)

比如:通过反射来实现,每个代理方法的信息都放在一个factoryMethod对象中,这个对象里面存放着需要调用的代理对像,代理对象方法名称,以及下一个执行的代理对象方法。

 

技术的产生是为了解决问题的

 

写这个文章遇见的疑惑

1:controller 中的request中还能获取到传过来的参数吗?

posted @ 2022-08-13 21:32  爱摇头的封三  阅读(36)  评论(0编辑  收藏  举报