一.单例模式
区别:懒汉式必须加锁,否则线程不安全,为什么?因为是第一次调用的时候才会生成一个单例的对象那么多线程的情况下就会 就可能会生成多个导致线程不安全
一.懒汉式
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的实现
1831

被折叠的 条评论
为什么被折叠?



