设计模式XX

一.单例模式

区别:懒汉式必须加锁,否则线程不安全,为什么?因为是第一次调用的时候才会生成一个单例的对象那么多线程的情况下就会 就可能会生成多个导致线程不安全

一.懒汉式

1.生成一个 private的构造方法 防止别的地儿生成这个单例的对象

private SInglesObject(){};

2.生成这个单例的空的对象

private  static SingleObject singleobject=null;

3.写一个供其他对象调用这个单例的方法

public synchronized static SingleObject  getInstance()

{

if (singleobject=null)

{

singleobject= new SingleObject ();

}

return instance;

}

二.饿汉式

1.生成一个 private的构造方法 防止别的地儿生成这个单例的对象

private SInglesObject(){};

2.生成这个单例的对象

private  static SingleObject singleobject=new SingleObject();

3.写一个供其他对象调用这个单例的方法

public static SingleObject  getInstance()

{

return SingleObject;

}

:在spring配置文件中定义的bean默认为单例模式

二.工厂模式

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

  • BeanFactory :延迟注入(使用到某个 bean 的时候才会注入),相比于BeanFactory来说会占用更少的内存,程序启动速度更快。
  • ApplicationContext :容器启动的时候,不管你用没用到,一次性创建所有 bean 。BeanFactory 仅提供了最基本的依赖注入支持,ApplicationContext 扩展了 BeanFactory ,除了有BeanFactory的功能之外还有额外更多功能,所以一般开发人员使用ApplicationContext会更多。

三.观察者模式

一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。

具体实例可以看观察者模式 | 菜鸟教程

Sprting 中使用观察者模式 spring的事件驱动模型使用的是观察者模式,常用的地方就是listener的实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值