• 【面试】设计模式


    参考博文: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接口相结合。

  • 相关阅读:
    20145220&20145209&20145309信息安全系统设计基础实验报告
    20145209 《信息安全系统设计基础》第8周学习总结
    R574
    gym102219
    102222F
    luogu 1337
    luogu 2503 & bzoj 2428
    18 BJ J
    poj 1981
    101992 I
  • 原文地址:https://www.cnblogs.com/Rain1203/p/11341090.html
Copyright © 2020-2023  润新知