用户您好!请先登录!

图解GoF的设计模式的工业级案例使用

图解GoF的设计模式的工业级案例使用

23种设计模式分类

看图学习23种设计模式(附工业级应用案例)

责任链模式

工业级案例:java类加载中的双亲委派模型就使用了责任链模式;

看图学习23种设计模式(附工业级应用案例)

命令模式

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

看图学习23种设计模式(附工业级应用案例)

解释器模式

工业级案例:c++与lua的关系时典型的解释器模式;

看图学习23种设计模式(附工业级应用案例)

迭代器模式

工业级案例:java中的List支持使用迭代器访问

看图学习23种设计模式(附工业级应用案例)

中介者模式

工业级案例:spring mvc中的Controller就是通过中介者模式完成view与model之间的映射;

看图学习23种设计模式(附工业级应用案例)

备忘录模式

工业级案例:事务的回滚机制非常适合使用备忘录模式实现;

看图学习23种设计模式(附工业级应用案例)

观察者模式

工业级案例:JDK中提供了观察者模式框架,比如:Observer、Observalbe等;

常见的GUI中各种事件监听就是通过观察者模式实现;

看图学习23种设计模式(附工业级应用案例)

状态模式

工业级案例:

看图学习23种设计模式(附工业级应用案例)

策略模式

工业级案例:java中的ArrayList、LinkedList都实现了List接口,具体使用哪个类交由调用者选择,这就是策略模式的典型应用;

看图学习23种设计模式(附工业级应用案例)

模板方法模式

工业级案例:

看图学习23种设计模式(附工业级应用案例)

访问者模式

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

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

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

适配器模式

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

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

桥接模式

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

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

组合模式

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

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

装饰器模式

工业级案例:JDK中的BufferInputStream;

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

外观模式

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

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

享元模式

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

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

代理模式

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

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

抽象工厂模式

工业级案例:

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

建造者模式

工业级案例:JDK中的StringBuilder;

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

工厂方法模式

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

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

原型模式

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

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

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

单例模式

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

优点:

  • 节省资源消耗,如:内存开销;
  • 有利于优化控制共享资源的访问调度,比如线程池、连接池;
  • 实例创建上跟具有灵活可控性,因为实例的创建一般是在类内部进行的;比如懒加载、双重锁校验等等;

一图胜千言,轻松学习设计模式的23张图解(附JDK案例)

乞力马扎罗的鱼
乞力马扎罗的鱼

不积跬步,无以至千里

要发表评论,您必须先登录