zoukankan      html  css  js  c++  java
  • 设计模式-遇见的场景

    一、单例模式

    1.单例模式的特点

      - 私有构造器

      - 私有自己属性

      - 对外静态实例方法

    2.分类

      懒汉式

        用到的时候再去创建,有延迟加载的作用

        线程不安全

      饿汉式:

        一开始就创建好,但是容易产生垃圾

        线程安全

      双重检测锁(DCL):

        第一次检查为了不必要的锁;

        第二次检查,是检查当前线程,返回实例;

        volatile是保证线程的可见性、静止指令重排 

    3.应用

      Spring bean作用域是单例的,就利用了单例模式

    二、工厂模式


    1.工厂可以代替new,给我们生产对象
    2.Spring的ioc就利用了工厂模式,具体:ApplicationContext和BeanFactory


    三、代理模式


    1.通过代理类,我们可以访问到被代理类的某些方法,并且在执行该方法的前后进行一些拦截操作
    2.springAOP


    四、设配器模式


    1.适配一些不兼容的接口,比如Springmvc中的HandlerAdper,他就是用来适配不同实现方式的controller的
    2.controller的三种实现方式:Controller接口,HttpRequestHandler接口,@Controller注解


    五、策略模式


    比较器Comparators,线程池的四种拒绝策略


    六、模板模式

    1.定义模板,具体实现由子类来实现
    AQS

  • 相关阅读:
    自动安装rpm依赖
    goroutine上下文contxt语法
    goroutine 上下文用法
    Template Method 模式
    设计模式2--设计原则
    centos7关机自动进行远程服务器备份
    实用工具使用
    剑指offer python版 滑动窗口的最大值
    剑指offer python版 左旋转字符串
    剑指offer python版 翻转单词顺序
  • 原文地址:https://www.cnblogs.com/yejiang/p/13507835.html
Copyright © 2011-2022 走看看