zoukankan      html  css  js  c++  java
  • 【面试】设计模式

    参考博文:https://blog.csdn.net/aa1215018028/article/details/81703900

    Spring中使用了哪些设计模式?

    工厂模式:

    Spring使用工厂模式可以通过BeanFactory或ApplicationContext 来创建对象。

    • BeanFactory:延迟注入,占用内存较少,程序启动速度更快;
    • ApplicationContext:容器启动的时候,不管你用不用到,一次性创建所有的bean。BeanFactory仅提供了最基本的依赖注入支持,ApplicationContext扩展了BeanFactory,一般我们使用ApplicationContext更多。

    ApplicationContext实现的三个类:

    • ClassPathXmlApplication:把上下文文件当成类路径资源;
    • FileSystemXmlApplication:把文件系统中的XML文件载入上下文定义信息。
    • XmlWebApplicationContext:把web系统中的XML文件载入上下文信息。

    单例模式:

    在我们的系统中,有些对象我们只需要一个,比如线程池、缓存、注册表、日志对象、充当打印机、显卡等设备驱动程序的对象等。

    Spring依赖注入Bean实例默认是单例的。

    适配器模式:

    SpringMVC中的适配器HandlerAdatper。

    HandlerAdatper会根据Handler规则执行不同的Handler。

    装饰器模式:

    Spring中用到的装饰器模式在类名上有两种表现:一种是类名中含有Wrapper,另一种是类名中含有Decorator。

    装饰器模式的实质就是给一个对象添加一些额外的职责。

    代理模式:

    Spring中AOP就是代理模式的实现。

    观察者模式:

    Spring的事件驱动模型使用的是观察者模式,最常用的就是listener的实现。

    策略模式:

    Spring框架的资源访问Resource接口。该接口提供了更强的资源访问能力,Spring框架本身使用了大量Resource接口来访问底层资源。

    模板方法模式:

    父类定义了骨架(调用哪些方法及顺序),某些特定方法由子类实现。

    JDBC的抽象和对Hibernate的集成,都采用了一种理念或者处理方式,那就是模板方法模式与相应的Callback接口相结合。

  • 相关阅读:
    ​综述 | SLAM回环检测方法
    从零开始一起学习SLAM | 用四元数插值来对齐IMU和图像帧
    2019-2020年值得关注的9个AR发展趋势
    计算机视觉方向简介 | 图像拼接
    “人工智能资源对接平台”发布,找人、找技术不再难!
    解决上不了网的特例
    机械键盘简介
    笔记本升级方案
    CSS构造表单
    CSS构造表格
  • 原文地址:https://www.cnblogs.com/Rain1203/p/11341090.html
Copyright © 2011-2022 走看看