面试笔记(设计模式)

Java设计模式

单例模式

1、懒汉式

//懒汉式(线程安全)
public class Singlenton(){
	private static Singlenton instance;
	private Singlenton(){}
	public static synchronized Singlenton getInstance(){
		if(instance == null){
			instance = new Singlenton();
		}
		return instance;
	}
}

2、工厂模式
根据用户需求动态创建实例对象并返回

//手机制造接口
public interface Phone {
    void make();
}

//米厂实现手机制造接口
public class MiPhone implements Phone{

    public MiPhone(){
         this.make();
    }

    @Override
    public void make() {
        System.out.println("制造了小m手机");
    }
}

//华伟工厂实现手机制造接口
public class HuaweiPhone implements Phone{

    public HuaweiPhone(){
         this.make();
    }

    @Override
    public void make() {
        System.out.println("制造华伟手机");
    }
}

//代理工厂
public class PhoneFactory {
    public Phone makePhone(String phoneType){
        if(phoneType.equals("MiPhone")){
            return new MiPhone();
        }
        if (phoneType.equals("HuaweiPhone")){
            return new HuaweiPhone();
        }
        return null;
    }
}
//动态返回需求实例
public class Demo {
    public static void main(String[] args) {
        PhoneFactory phoneFactory = new PhoneFactory();
        Phone miPhone = phoneFactory.makePhone("MiPhone");
        Phone huaweiPhone = phoneFactory.makePhone("HuaweiPhone");
    }
}

3、观察者模式
定义了1对多的依赖关系,让多个观察者监听一个某个对象。当这个对象的状态发生变化时,会通知坚挺着对象,使他们更新自己。
典型:rabbitMQ

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值