Java(十一)设计模式

设计模式

单例模式

通常作为程序中存放配置信息的载体,因为它能保证其他对象读到一致的信息。
特点:
1.只能有一个实例。
2.必须自己创建自己的唯一实例。
3.必须给所有其他对象提供这一实例。

1.饿汉式:

class Singleton1 {
    //1,私有构造方法,其他类不能访问该构造方法了
    private Singleton1(){}
    //2,创建本类对象
    private static Singleton1 s = new Singleton1();
    //3,对外提供公共的访问方法
    public static Singleton1 getInstance() {                //获取实例
        return s;
    }
}

2.懒汉式,单例的延迟加载模式:开发中不怎么用到,用于面试笔试

class Singleton2 {
    //1,私有构造方法,其他类不能访问该构造方法了
    private Singleton2(){}
    //2,声明一个引用
    private static Singleton2 s = null;
    //3,对外提供公共的访问方法
    public static Singleton2 getInstance() {                //获取实例
        if(s == null) {
            s = new Singleton2();
        }
        return s;
    }
}

饿汉式和懒汉式的区别
1.饿汉式是空间换时间,懒汉式是时间换空间。
2.在多线程访问时,饿汉式不会创建多个对象,而懒汉式有可能会创建多个对象。

3.枚举

enum Singlenton3{
    Singlenton3
}

4.静态内部类

class Singleton4 {
    private Singleton4(){}
    public static SingletonHolder {             
        private static final Singleton4 INSTANCE = new Singleton4();
    }
    public static final Singleton4 getInstance(){
        return SingletonHolder.INSTANCE;
   }
}

5.静态代码块

class Singleton5(){
   static{
    Singleton5 singleton5 = new Singleton5();
   }
}
工厂模式

为创建对象提供过度接口,以便将创建对象的具体过程屏蔽并隔离起来,达到提高灵活性的目的。
可分三类,且从上到下逐步抽象,更具一般性。
1.简单工厂模式(Simmple Factory):静态工厂模式。不利于产生系列产品。
2.工厂方法模式(Factory Method):多形性工厂。
3.抽象工厂模式(Abstract Factory):工具箱。产生产品族,但不利于产生新的产品。

适配器模式

适配器
* 在使用监听器的时候, 需要定义一个类事件监听器接口。
* 通常接口中有多个方法, 而程序中不一定所有的都用到, 但又必须重写, 这很繁琐。
* 适配器简化了这些操作, 我们定义监听器时只要继承适配器, 然后重写需要的方法即可。
* b.适配器原理
* 适配器就是一个类, 实现了监听器接口, 所有抽象方法都重写了, 但是方法全是空的.
* 适配器类需要定义成抽象的,因为创建该类对象,调用空方法是没有意义的
* 目的就是为了简化程序员的操作, 定义监听器时继承适配器, 只重写需要的方法就可以了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值