美文网首页Java工作生活程序员
看图学习23种设计模式(二)

看图学习23种设计模式(二)

作者: 问题_解决_分享_讨论_最优 | 来源:发表于2019-10-28 02:36 被阅读0次

访问者模式

核心思想:将数据结构和数据操作分离;

工业级应用案例:JDK中的FileVisitor类;Spring中的BeanDefinitionVisitor类;

适配器模式

工业级案例:Spring aop中MethodBeforeAdviceAdapter适配器,用于将advice转换为拦截器;

桥接模式

工业级案例:JDBC中的Driver和Connection之间是通过DriverManager类进行桥接的;

组合模式

工业级案例:mybatis中的MixedSqlNode类,JDK中的Map类等;

装饰器模式

工业级案例:JDK中的BufferInputStream;

外观模式

工业级案例:java中的javax.faces.webapp.FacesServlet类;以及Class类的forName方法等;

享元模式

工业级案例:Java String类型就实现了享元模式;Integer的缓存机制等;

代理模式

工业级应用:java提供了JDK动态代理、CGLIB动态代理,Spring中面向切面编程(AOP)也使用到了代理模式;

抽象工厂模式

工业级案例:

建造者模式

工业级案例:JDK中的StringBuilder;

工厂方法模式

工业级案例:Spring中的BeanFactory类,通过newInsyance方法来创建类;

原型模式

核心思想:通过复制对象本身来创建对象,比如java中的clone方法(浅拷贝)

工业级案例:java中的clone方法实际上是原型模式应用之一,快速创建对象;(对于String类字符串,可以认为是深拷贝)

单例模式

工业级应用:spring创建bean默认采用单例模式

优点:

节省资源消耗,如:内存开销;

有利于优化控制共享资源的访问调度,比如线程池、连接池;

实例创建上跟具有灵活可控性,因为实例的创建一般是在类内部进行的;比如懒加载、双重锁校验等等;

需要查看更加详细内容请进入:风吟个人博客

相关文章

  • 看图学习23种设计模式(二)

    访问者模式 核心思想:将数据结构和数据操作分离; 工业级应用案例:JDK中的FileVisitor类;Spring...

  • 设计模式学习(二)

    结构设计模式:用于继承和接口时的设计模式。 1.适配器模式 定义:允许使用不同的接口重构某个类,可以允许使用不同的...

  • 设计模式之观察者模式

    设计模式之观察者模式 本篇是设计模式系列博客的第四篇,本篇主要学习设计模式中的第二个行为型模式---观察者模式。 ...

  • 装饰者模式——IO流运用

    推荐博客Java设计模式学习09Java设计模式学习09Java设计模式学习09 装饰者模式还是比较难懂的。。。。...

  • 看图学习23种设计模式(一)

    命令模式 工业级案例:java中使用线程池时,就是将一系列的命令封装为thread对象,然后交由线程池处理。 策略...

  • 设计模式之单例模式

    单例设计模式全解析 在学习设计模式时,单例设计模式应该是学习的第一个设计模式,单例设计模式也是“公认”最简单的设计...

  • 前端设计模式

    JS设计模式一:工厂模式jS设计模式二:单例模式JS设计模式三:模块模式JS设计模式四:代理模式JS设计模式五:职...

  • monolake 的GeekBand C++开发学习笔记(十)

    前记:进入C++设计模式第二周,本周学习了构造类模式和接口隔离类模式。 创建型模式:前面说了设计模式的一个核心的原...

  • 第1章 设计模式概述

    一、设计模式的概念 二、设计模式的历史 三、设计模式的要素 四、设计模式的分类 ■ 创建型设计模式 ■ 结构型设计...

  • 设计模式之前话一

    在进入具体的设计模式之前,我们有必要知道,设计模式是什么?为什么要学习设计模式?怎么学习设计模式?只有了解了这些问...

网友评论

    本文标题:看图学习23种设计模式(二)

    本文链接:https://www.haomeiwen.com/subject/bekvvctx.html