结构型设计模式(七种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
一、适配器模式
涉及了 适配器模式的介绍、Spring 中适配器模式的使用。
二、装饰器模式
JDK 最常见的装饰者模式 I/O。
三、代理模式
Spring AOP 就是基于动态代理对切点进行通知增强的。
四、外观模式
外观模式是指提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
外观模式类图:
外观模式非常容易理解,就是对于一个复杂的系统,我们设计一个外观类(高层接口),对下属的子系统进行统一的使用和管理。
五、桥接模式
桥接模式将抽象和具体分离开来,使之分别发展,但需要在抽象中聚合具体对象。
桥接模式适用于:抽象类和具体类分别爆炸增长,如果单单使用继承的话会导致类越来越多,使用桥接模式将抽象和具体类分离开来,并在抽象类中聚合一个具体类对象来代替继承。
桥接模式类图:
在业务开发中桥接模式用的不是很多,简单了解即可。
六、组合模式
组合模式允许将对象组合成树形结构来表现“整体/部分”层次结构。
组合模式类图:Component 为 Leaf 和 Composite 的顶层接口,规定了以一致的方式对节点或者组合对象进行处理。
简单来说,组合模式就是使用Leaf和Composite这两个组件来构建树形结构组合对象。
七、享元模式
享元模式是指将一些可重复利用的对象收集起来,统一管理。
享元模式一般适用于:同一个资源或对象被重复利用或重复创建的场景下。
享元模式的类图:
在 Java 中有很多场景都使用到了享元模式,例如数据库连接池、线程池、字符串常量池,这些池子都会重复利用一些资源对象。
至此,结构型设计模式中七种设计模式就讲解完了,下一篇学习行为型设计模式。