设计模式
文章平均质量分 66
呆呆的猫
爱发呆 爱抹茶 一直在路上
展开
-
【设计模式】12、observer 观察者模式
发布订阅模式, client 都可以向 broker 注册, broker 管理所有 connection, 当 broker 收到某事件时, 广播给所有 clients.- 各种消息队列, 如 kafka, redis stream 都是这种结构 - websocket server, live video streaming server 也都是这样的原创 2024-04-25 22:48:49 · 362 阅读 · 1 评论 -
【设计模式】11、flyweight 享元模式
大量重复的对象, 如果很消耗资源, 没必要每次都初始化, 可以共用, 共享. 这就是 flyweight 享元模式.各种池技术: 线程池, 数据库连接池, http 网络连接池, 都是应用场景原创 2024-04-22 22:15:30 · 408 阅读 · 0 评论 -
【设计模式】10、composite 组合模式
树状结构, 适合用组合模式, 不断递归, 对各子节点求和, 直到叶子节点为止.例如, 一个大盒子, 内可以放置物体, 或若干小盒子. 而每个小盒子又同理.原创 2024-04-22 12:54:35 · 468 阅读 · 0 评论 -
【设计模式】9、facade 外观模式
如果有一个复杂的系统, 内部有很多子系统, 可以用 facade 封装一层, 只暴露出用户关心的简单接口.原创 2024-04-22 12:13:34 · 524 阅读 · 0 评论 -
【设计模式】8、adapter 适配器模式
通常用于老旧系统, 或第三方系统, 提供一层适配器或插件, 做协议转换PS: 如果开发新系统, 各层之间的解耦, 成为 bridge 桥接模式. 而如果是老系统则称为 adapter 适配器模式. 本质是一样的. 都是通过添加中间层实现的.原创 2024-04-21 22:26:22 · 243 阅读 · 0 评论 -
【设计模式】7、decorate 装饰模式
如果希望增强行为,可以使用 decorate 模式。且支持嵌套多层(套娃)原创 2024-04-21 17:15:12 · 536 阅读 · 0 评论 -
【设计模式】6、bridge 桥接模式
如下场景,1. 复杂逻辑拆分, 2. 多维,避免组合爆炸,可以使用原创 2024-04-20 23:01:06 · 449 阅读 · 0 评论 -
【设计模式】5、proxy 代理模式
proxy 模式:如果 client 需要操作一个 rawObject, 但希望 proxy 它时, 则可使用 proxy 模式.原创 2024-04-19 12:59:45 · 440 阅读 · 0 评论 -
【设计模式】4、prototype 原型模式
如果希望 复制对象, 可使用 "prototype 模式"如果 "待复制的对象" 是 interface 而不是 class, 或者如果 class 有 private 变量时. 无法知道 "待复制的对象"的细节, 则需要其实现 "clone()" 方法供外部调用.原创 2024-04-14 23:08:28 · 342 阅读 · 0 评论 -
【设计模式】3、builder 建造者模式
将对象的构建, 拆分为若干步骤。每次创建对象时, 都通过 builder 对象执行其中的部分步骤原创 2024-04-14 15:42:38 · 623 阅读 · 0 评论 -
【设计模式】2、工厂:简单工厂、工厂方法、抽象工厂
工厂设计模式分为:简单工厂、工厂方法、抽象工厂原创 2024-04-04 18:52:18 · 1447 阅读 · 0 评论 -
【设计模式】1、单例模式
单例分为, 执行时机分为: 饿汉, 懒汉两种原创 2024-04-04 18:49:50 · 373 阅读 · 0 评论 -
【设计模式】4、策略模式
设计模式:策略模式原创 2024-02-18 14:42:35 · 1068 阅读 · 0 评论 -
【设计模式】0、uml 类图:关联、聚合、组合、依赖、继承、实现
uml 类图的属性、方法,和关系图解原创 2024-02-18 12:13:08 · 793 阅读 · 0 评论 -
【设计模式】2、工厂方法模式
设计模式:工厂方法模式原创 2023-07-19 13:05:44 · 254 阅读 · 0 评论 -
【设计模式】 1、状态模式
本文介绍状态模式的背景、结构、使用场景原创 2023-03-15 22:54:59 · 178 阅读 · 0 评论