一、容器(砂锅)

1、概念:

容器是应用server中位于组件和平台之间的接口集合

2、应用:

容器一般位于应用server之内,由应用server负责载入和维护。一个容器仅仅能存在于一个应用server之内。一个应用server能够建立和维护多个容器

容器一般遵守可配置的原则,即容器的使用者能够通过对容器參数的配置,来达到自己的使用需求。而不须要改动容器的代码

3、举例:

有一个房间(这里的房间相当于容器),我们将空调(这里的空调相当于调节室内温度的方法)放到房间里(将空调放到房间里就相当于给容器设定了调节温度的方法),当不论什么一个人(这里的不论什么一个人相当于不论什么一个对象)进入房间之后他就有了调节温度的方法,当他离开之后也就失去了容器中的方法

二、AOP(双面胶)

1、概念:

AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和执行期动态代理实现程序功能的统一维护的一种技术

2、应用:

AOP能够定义交叉的关系,并将这些关系应用于跨模块的、彼此不同的对象模型。

AOP同一时候还能够让我们层次化功能性而不是嵌入功能性,从而使得代码有更好的可读性和易于维护

3、举例:

这里有四个不同的对象分别为A、1、%、@,AOP里面封装了一个连接的方法,这个时候就能够通过AOP强制赋予这四个对象,使他们都有了连接的方法,从而A、1到了一起,%、@到了一起(这里能够随意将其相互连接)。

    这个样例不太形象,那么我就说一个现实一点的,我们身边给男女牵红线的。都叫媒婆(这里的媒婆就是AOP),媒婆有牵手的方法。她将自己的牵手方法赋予切割两地的男女。使他们进行牵手。

三、容器和AOP差别

容器:是一个对象有了某种需求,去主动要求进入容器中。从而获得对应的方法不用自己再去封装方法了

    AOP:每一个对象不用去考虑自己须要什么,通过AOP被动得到对应的方法

四、容器和AOP结合

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

如图所看到的,给容器加入权限、日志、多线程等功能。通过AOP将各个系统放入容器中。使得各个系统拥有相应的功能

五、总结

今天听了老师的讲课收获特别大。对于容器和AOP如今有了一个大概的概念,运用到我们的学习中来,首先将自己放到容器中,也就是要学习每个细小的知识点,容器中的东西都要去弄个明确,以后要学习AOP的精神。依据自己的需求去寻找自己不熟悉的知识点来提升自己

    以后运用的时候相信理解会更加深刻的

【项目基础】容器、AOP理论篇的更多相关文章

  1. Java Web基础 --- Servlet 综述(理论篇)

    摘要: Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础.本文首先从请求/响应架构应用的大背景谈起 Servlet 的由来,明确 Ser ...

  2. PHP丨PHP基础知识之PHP基础入门——函数「理论篇」

    前两天讲过PHP基础知识的判断条件和流程控制,今天来讲讲PHP基础知识之PHP基础入门--函数! 一.函数的声明与使用 1.函数名是标识符之一,只能有数字字母下划线,开头不能是数字. 函数名的命名,须 ...

  3. PHP丨PHP基础知识之流程控制WHILE循环「理论篇」

    昨天讲完FOR循环今天来讲讲他的兄弟WHILE循环!进入正题: while是计算机的一种基本循环模式.当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环.while语句的一般表达式为:whil ...

  4. PHP丨PHP基础知识之条件语IF判断「理论篇」

    if语句是指编程语言(包括c语言.C#.VB.java.php.汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一. if语句概述 if语句是指编程语言(包 ...

  5. PHP丨PHP基础知识之条件语SWITCH判断「理论篇」

    Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择.以PHP来说,switch(开关语句)常和case break default一起使用 典型结构 switch($control ...

  6. FPGA基础学习(4) -- 时序约束(理论篇)

    在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...

  7. RabbitMQ学习总结 第一篇:理论篇

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  8. 14 微服务电商【黑马乐优商城】:day01-springboot(理论篇)

    本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) :day01-springboot(Thyme ...

  9. 14 微服务电商【黑马乐优商城】:day02-springcloud(理论篇二:知道什么是SpringCloud)

    本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一: ...

随机推荐

  1. perl异常处理

    程序脚本在运行过程中,总会碰到这样那样的问题,我们会预知一些问题并为其准备好处理代码,而有一些不能预知.好的程序要能尽可能多的处理可能出现的异常问题,本文就总结了一些方法来解决这些异常,当然perl在 ...

  2. docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置

    原文:docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_3767485 ...

  3. PKU 3311 Hie with the Pie 状态DP

    Floyd + 状态DP Watashi的板子 #include <cstdio> #include <cstring> #include <iostream> # ...

  4. 有关于OpenGL、OpenGL ES、WebGL的小结

    转自原文 有关于OpenGL.OpenGL ES.WebGL的小结 一.   OpenGL简介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口 ...

  5. ArcGIS api for javascript—测量,测距问题

    首先量测 var map, toolbar, geometryService ; function init() { map=new esri.Map("map",{ extent ...

  6. Jeff Dean专访,有不少干货

    <专访Jeff Dean:我们要推动机器学习再上一层楼> 文件链接如下: Link https://arxiv.org/ 有意思的是,里面提到的 arXiv网站,一个能够用来证明论文上传时 ...

  7. HDU 3001 三进制状压DP

    N个城市,M条道路,每条道路有其经过的代价,每一个城市最多能够到达两次,求走全然部城市最小代价,起点随意. 三进制状压.存储每一个状态下每一个城市经过的次数. 转移方程: dp[i+b[k]][k]= ...

  8. 计数排序、桶排序python实现

    计数排序在输入n个0到k之间的整数时,时间复杂度最好情况下为O(n+k),最坏情况下为O(n+k),平均情况为O(n+k),空间复杂度为O(n+k),计数排序是稳定的排序. 桶排序在输入N个数据有M个 ...

  9. 动态网页爬取样例(WebCollector+selenium+phantomjs)

    目标:动态网页爬取 说明:这里的动态网页指几种可能:1)须要用户交互,如常见的登录操作:2)网页通过JS / AJAX动态生成.如一个html里有<div id="test" ...

  10. 生成不重复的随机数对(C/C++)

    1 #include <stdio.h> #include <algorithm> #include <stdlib.h> #include <time.h& ...