本文已参与「新人创作礼」活动,一起开启掘金创作之路。
使用场景
单例模式:Spring框架创建对象的方式有单例模式。
工厂模式:mybatis使用工厂模式创建sqlsession对象
原型模式:深浅克隆(重写clone方法深克隆、序列化深克隆)
适配器模式:Tomcat中使用了适配器模式,使得数据从接收类传递到处理类中操作
代理模式:java中实现Runnable接口的类,在线程启动时,会使用静态代理类Thread类来启动。
装饰器模式:IO流中bufferedInputStream类用到了
责任链模式:(1)Spring中的拦截器链(2)ClassLoader类加载器机制都是运用了责任链模式(3)try、catch也是责任链模式,一个catch捕获不了则跳到下一catch
模板方法模式:spring中的JDBCTemplate用到了,AQS的实现
观察者模式:聊天室中服务器转发聊天消息
备忘录模式:棋牌游戏中悔棋的操作
概述
简述设计模式的分类
创建型模式:在创建对象的同时隐藏创建逻辑,不使用 new 直接实例化对象。有工厂模式、单例模式、建造者模式、原型模式。
结构型模式:通过类和接口间的继承和引用实现创建复杂结构的对象。有适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式:通过类之间不同通信方式实现不同行为。有策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
概述
简述设计模式的分类
创建型模式:在创建对象的同时隐藏创建逻辑,不使用 new 直接实例化对象。有工厂模式、单例模式、建造者模式、原型模式。
结构型模式:通过类和接口间的继承和引用实现创建复杂结构的对象。有适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式:通过类之间不同通信方式实现不同行为。有策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。