写点什么

spring 中的设计模式

作者:想要飞的猪
  • 2023-12-01
    广东
  • 本文字数:631 字

    阅读完需:约 2 分钟

1、工厂模式(spring 中的 beanFactory)


  工厂模式是定义了创建实例的方法,然后让各个具体的工厂去创建对应的实例,屏蔽了实例化对象的整个过程和创建逻辑。
优点:1、一个调用者想要创建对象,使用工厂类获取,不需要知道创建的具体逻辑。2、扩展性好,需要曾家一个产品时只需要扩展工厂类就可以了。
缺点:每次增加产品时都要增加具体的类与对象实现工厂,是系统中的类的个数增加,在一定的程度上增加了系统的复杂性。
复制代码


2、单例模式(getSingleTon()创建 bean[在配置为 singleton 的时候])


  单例模式是一种创建类型模式,它使得一个类只能有一个单一的实例对象;
单例模式实现:1、私有化构造器(使外部不能通过new 创建或者反射形式创建)2、提供实现对象的public静态方法;
复制代码


实现方法有:懒汉式,饿汉式(线程安全),双检锁


public class Singleton{


// 注意一定要加 volatile 不然高并发的情况下可能会出现 返回没有初始化过的对象


private volatile static Singleton singleton;
private Singleton(){}
if(singleton == null){
synchronized(Singleton.class){
if(singleton == null){
singleton = new Singleton();
}
}
}
复制代码


}


3、模板方法


4、代理模式(aop 的实现使用了动态代理和 CGLIB 代理)


5、装饰器模式(源码中带有 wrapper 或者 Dectorator 的类)


6、观察者模式(事件驱动模型,listener 的接口)


7、适配器模式(spring 中的一些 adapter)


8、策略模式(加载资源源文件时,使用了不同的方法,如 classPathResource,urlResource)

用户头像

还未添加个人签名 2020-06-05 加入

还未添加个人简介

评论

发布
暂无评论
spring中的设计模式_想要飞的猪_InfoQ写作社区