type
status
date
slug
summary
tags
category
icon
password

一、定义

notion image
外观模式:主要适用于减少对象的创建,以减少内存的使用和提高性能,例如缓存设计之类的,它提供了减少对象创建数量从而改善应用所需对象结构方式。

二、示例:

模拟场景: 1、商品下单的项⽬从最初的⽇均⼗⼏单到⼀个⽉后
每个时段秒杀量破⼗万
的项⽬。⼀般在最初如果没有经验的情况下可能会使⽤数据库⾏级锁的⽅式下保证商品库存的扣减操作,但是随着业务的快速发展秒杀的⽤户越来越多,这个时候数据库已经扛不住了,⼀般都
会使⽤redis的分布式锁
来控制商品库存。
notion image

传统编码方式

每次都去数据库里面查询数据,一旦访问量增加服务器承受不了这么大的压力

享元模式设计

加入redis缓存设计,在redis中查询和修改库存
减少对象的创建
测试:ApiTest
总结: 关于享元模式的设计可以着重学习享元⼯⼚的设计,在⼀些有⼤量重复对象可复⽤的场景下,使⽤此场景在服务端减少接⼝的调⽤,在客户端减少内存的占⽤。是这个设计模式的主要应⽤⽅式。
另外通过 map 结构的使⽤⽅式也可以看到,使⽤⼀个固定id来存放和获取对象,是⾮常关键的点。⽽且不只是在享元模式中使⽤,⼀些其他⼯⼚模式、适配器模式、组合模式中都可以通过map结构存放服务供外部获取,减少ifelse的判断使⽤。
 
 
JAVA【设计模式】外观模式JAVA【设计模式】责任链模式
IT小舟
IT小舟
微信公众号:IT小舟
公告
type
status
date
slug
summary
tags
category
icon
password
notion image
你好,我是小舟。 欢迎来到我的博客,我喜欢运动、阅读、音乐和写作。如果有什么想要交流的,可以加我微信:upcodezhou。再次感谢你的光临!
notion image