一、容器(砂锅)
1、概念:
容器是应用服务器中位于组件和平台之间的接口集合
2、应用:
容器一般位于应用服务器之内,由应用服务器负责加载和维护,一个容器只能存在于一个应用服务器之内,一个应用服务器可以建立和维护多个容器
容器一般遵守可配置的原则,即容器的使用者可以通过对容器参数的配置,来达到自己的使用需求,而不需要修改容器的代码
3、举例:
有一个房间(这里的房间相当于容器),我们将空调(这里的空调相当于调节室内温度的方法)放到房间里(将空调放到房间里就相当于给容器设定了调节温度的方法),当任何一个人(这里的任何一个人相当于任何一个对象)进入房间之后他就有了调节温度的方法,当他离开之后也就失去了容器中的方法
二、AOP(双面胶)
1、概念:
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术
2、应用:
AOP可以定义交叉的关系,并将这些关系应用于跨模块的、彼此不同的对象模型。AOP同时还可以让我们层次化功能性而不是嵌入功能性,从而使得代码有更好的可读性和易于维护
3、举例:
这里有四个不同的对象分别为A、1、%、@,AOP里面封装了一个连接的方法,这个时候就可以通过AOP强制赋予这四个对象,使他们都有了连接的方法,从而A、1到了一起,%、@到了一起(这里可以任意将其相互连接)。
这个例子不太形象,那么我就说一个现实一点的,我们身边给男女牵红线的,都叫媒婆(这里的媒婆就是AOP),媒婆有牵手的方法,她将自己的牵手方法赋予分割两地的男女,使他们进行牵手。
三、容器和AOP区别
容器:是一个对象有了某种需求,去主动要求进入容器中,从而获得相应的方法不用自己再去封装方法了
AOP:每个对象不用去考虑自己需要什么,通过AOP被动得到相应的方法
四、容器和AOP结合
如图所示,给容器添加权限、日志、多线程等功能,通过AOP将各个系统放入容器中,使得各个系统拥有对应的功能
五、总结
今天听了老师的讲课收获特别大,对于容器和AOP现在有了一个大概的概念,运用到我们的学习中来,首先将自己放到容器中,也就是要学习每一个细小的知识点,容器中的东西都要去弄个明白,以后要学习AOP的精神,根据自己的需求去寻找自己不熟悉的知识点来提升自己
以后运用的时候相信理解会更加深刻的