设计模式
1. 设计模式的类型
- 创建型模式
-
提供一种在创建对象的同时隐藏创建逻辑的方式。使得程序在判断针对某个实例需要创建哪些对象时更加灵活
-
工厂模式,单例模式,原型模式
-
- 结构型模式
-
关注对象之间的组合和关系,旨在解决如何构建灵活且可复用的类和对象结构
-
适配器模式,组合模式,桥接模式
-
- 行为型模式
-
关注对象之间的通信和交互,旨在解决对象之间的责任分配和算法的封装
-
责任链模式,命令模式,策略模式
-
2. 创建型模式
单例模式
--单例模式是一种创建型模式,它确保一个类只有一个实例,并提供了一个全局访问点来访问该实例。
意图
确保一个类只有一个实例,并提供一个全局访问点来访问该问题实例
主要解决
频繁创建和销毁全局使用的类实例问题
关键代码
构造函数是私有的
实例
-
一个班级只有一个班主任
-
设备管理器设计为单例模式,例如两台打印机,避免同时打印同一份文件
-
Windows在多进程多线程环境下操作文件时,避免多个进程或线程操作一个文件,需要通过唯一实例进行处理
优点
-
内存中只有一个实例,减少内存开销。尤其是频繁创建和销毁实例时
-
避免资源的多重占用
缺点
- 没有接口,不能继承
- 与单一职责原则冲突,一个类应该只关系内部逻辑,而不关注实例方式
使用场景
-
生成唯一序列号
-
WEB中的计数器,避免每次刷新都在数据库中增加记数,先缓存起来