首页
归档
重学Java计划
道德经
2020年08月21日 Fri
设计模式概览
设计模式的六大原则
单一职责原则:一个类只做一件事儿
开闭原则:对扩展开发, 对修改关闭。
里氏替换原则:继承时子类完全实现基类方法
依赖倒转原则:面向接口变成
接口隔离原则:使用接口进行功能拆分
迪米特原则:不和陌生人说话
设计模式分类
创建型
单例模式
懒汉式
饿汉式
double-check locking
静态内部类
枚举
工厂模式
抽象工厂模式 工厂的工厂模式
Spring的bean工厂
建造者模式
类中域较多,切可分组
构建不可变对象
原型模式
提供模板,然后进行克隆
结构型
适配器模式
用于兼容多种接口,平时较少使用
桥接模式
一个中间类,多个实现类。中间类中包含实现类,并调用实现类的具体方法,较少使用
过滤器模式
通过逻辑运算解耦过滤操作, 但条件过滤器,过滤条件逻辑过滤器,较少使用
装饰器模式
用于扩展原类功能,切面类可以理解成装饰器的一种使用。常用
外观模式
当某种业务较为复杂的时候,用于隐藏功能的复杂性,对外提供简单接口。service层可以理解成mapper层的外观模式。常用。
享元模式
缓存, 就是重复使用已经创建的对象,这个在我们系统中经常使用,比如单值代码等。常用。
代理模式
静态代理
动态代理
jdk动态代理
cglib代理
Spring的bean代理
行为型
责任链模式
重点是
next
最经典的使用场景是javaee中的filter
Java8中的Stream也是责任链的一种使用场景
命令模式
线程池, 每个线程就是要给命令
解释器模式
这种看的较多的是mybatis中的Example
迭代器模式
List、Set都用到了这个模式,Iterator
中介者模式
Context就是中介者, 所有的类均是与Context进行交互
貌似有一个模式就叫Context模式
备忘录模式
就是保存对象的域,用于在遇到的时候恢复对象状态。这种模式用的较少
观察者模式
观察者对象中包含一个或多个接收信息的对象,在需要监听的属性的地方添加观察,当该属性变化的时候通知对应的接收对象。这个地方,观察者有点像一个消息队列。接收生产者生产的消息,推送导消费者
状态模式
Context和State组成的一个设计模式,由State确定Context的状态。
策略模式
一个问题的多种实现,或者多种不同的解法
比如,我们需要根据不同的法院对接不同的执行系统,只需要预先定义好规则,然后然后传入法院编号,就可以自行获取。
模板模式
定义模板方法
Servlet就是一种模板模式的使用,定义好doGet、doPost等方法实现
访问者模式
策略模式的一种反方向实现, 较为少用
#
设计模式
工厂模式
单例模式
喜欢这篇文章?打赏一下作者吧
支付宝捐赠
微信捐赠
Java多线程编程
评论
相关文章
2020年08月21日 Fri
设计模式概览
最新评论
Your browser is out-of-date!
Update your browser to view this website correctly.
Update my browser now
×
分类
日记
公益
杂记
读书
技术
操作系统
问题
数据库
架构
框架
语言
标签
James Gosling
常用命令
swap
Linux
多态
封装
继承
对象
类
面向对象
重载
重写
alpine
wsl
docker
程序员
编程思维
Redis
缓存
关键字
词频
TFIDF
flush
close
Servlet
重学Java
包装类
基本类型
异步请求
同步
Promise
await
async
Javascript
心理
日本
菊与刀
读书
听见你的声音
公益
寒梅
打油诗
一出好戏
感想
影评
字符集
文件
文本
python
外网访问
远程访问
默认密码
修改密码
pg12
postgresql
Centos
存储过程
触发器
索引
外键
主键生成
增量设计
字段设计
冗余设计
表设计
水平
垂直
分表原则
分库原则
单例模式
工厂模式
设计模式
无锁队列
并发模型
线程池
线程安全
详细设计
概要设计
伪代码
PAD图
N-S图
流程图
懒加载
Gzip
首页加载
优化
组件
$emit
VUE
EINTEGRITY
ERESOLVE
npm
RTMP
HLS
ts
videoJs
libavcodec
m3u8
mkv
FFmpeg
DevTools
Springboot
Java
翻译
代码审查
网络
HTTPS
Nginx