设计模式UML图02

1、单例模式

1.1 、饿汉式

要点:1》构造器私有化;2》本类创建静态常量内部实例;3》提供一个公有方法返回实例;

1.2、懒汉式

要点:1》构造器私有化;2》提供一个公有方法返回实例,在使用的时候,创建静态常量内部实例);

2、工厂模式

2.1、简单工厂模式

在这里插入图片描述

2.2、工厂方法模式

在这里插入图片描述

3、抽象工厂模式

在这里插入图片描述

4、原型模式

要点:
1》实现Clone接口,重写clone方法,默认是浅拷贝,可以复制出类的基本数据类型;
2》深拷贝才能拷贝类 ,要实现Serializable,Cloneable接口
3》深拷贝复制类还可以通过序列化,反序列化,用流对象写入,然后用流对象读取。
4》运用在spring中创建指定prototype类型
在这里插入图片描述

5、建造者模式

要点:
1》产品和构建产品的过程解耦;
2》运用在StringBulider类
在这里插入图片描述

6、适配器模式

要点:
1》把手机的充电220v,通过适配器转为为5V电压;
2》springMVC适配器
原理图:
在这里插入图片描述
springMVC原理图:
在这里插入图片描述

7、桥接模式:

要点:

1》实现和抽象类分层;

2》JDBC源码实现

在这里插入图片描述

8、装饰者模式

要点:

1》动态的将新功能附加在对象上;

2》JDK的IO流中FilterInputStream类是装饰类

在这里插入图片描述
在这里插入图片描述

9、组合模式:

要点:

1》部分和整体层次;

2》用处,需要遍历组织机构,

3》JDK的Map接口中的Hashmap类

在这里插入图片描述
在这里插入图片描述

10、外观模式:

要点:

1》多个复杂接口带来的使用困难问题;

2》Mybatis有用到,

在这里插入图片描述
Mybatis结构图:
在这里插入图片描述

11、享元模式:

在这里插入图片描述

要点:

1》共享缓冲池中的对象,降低重复对象的创建;

2》Integer有用到,valueof(127)方法

2》数据库连接池

12、代理模式

12.1、静态代理

在这里插入图片描述

12.2、动态代理

在这里插入图片描述

13.3、CGlib代理

在这里插入图片描述

13、模板方法模式:

要点:

1》子类选择合适方法重写父类方法,模板方法把步骤方法放进去;

2》IOC有用到

原理图:
在这里插入图片描述

IOC原理图:
在这里插入图片描述

14、命令模式:

要点:

1》手机APP可以控制家里的家用电器;

2》发起请求的对象和执行请求的对象分开解耦

3》JDBCtemplate有用到;

在这里插入图片描述

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页