搜索结果
查询Tags标签: 设计模式,共有 1926条记录-
C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
一、引言 今天我们开始讲“行为型”设计模式的第三个模式,该模式是【迭代器模式】,英文名称是:Iterator Pattern。还是老套路,先从名字上来看看。“迭代器模式”我第一次看到这个名称,我的理解是,迭代是遍历的意思,迭代器可以理解为是遍历某某的工具,遍历什么呢…
2024/3/30 1:02:45 人评论 次浏览 -
设计模式(二十)状态
一、定义 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类,状态模式又称为状态对象,它是一种对象行为模式。 二、描述 状态模式是一种较为复杂的设计模式,用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题,包含以下三个角色:…
2024/1/9 14:02:42 人评论 次浏览 -
设计模式(十九)观察者
一、定义 定义对象之间的一种一对多依赖关系,使得当每一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式是一种行为型模式,又称为发布-订阅(Publish-Subscribe)模式、模型-视图(Model-View)模式、源-监听器(Source-Listener)模式或从属者…
2024/1/2 18:02:22 人评论 次浏览 -
接手了个项目,被if..else搞懵逼了
背景 领导:“这个项目,今后就给你维护了啊,仔细点。” 小猫:“好,没问题”。 可当满怀信心的小猫打开项目工程包翻看一些代码之后,瞬间懵逼没了信心。 是这样的 还是这样的 平级的if else密密麻麻就算了,但是深套五六层的if else甚至七八层的真的是让人摸不着北。 …
2023/12/24 11:03:03 人评论 次浏览 -
工厂方法模式
前言 什么是工厂方法 工厂方法 是一种 创建型 设计模式 什么是 创建型 设计模式?创建型设计模式专注于处理对象创建机制,以合适的方式来创建对象。该模式通过控制对象的创建方式来解决问题。工厂方法的作用 解决了在 不指定具体类 的情况下创建产品对象的问题,这句话要…
2023/11/26 1:33:03 人评论 次浏览 -
【23种设计模式】外观模式(十)
前言 外观模式,英文名称是:Facade Pattern。我们先从名字上来理解一下“外观模式”。我看到了“外观”这个词语,就想到了“外表”这个词语,两者有着很相近的意思。就拿谈恋爱来说,“外表”很重要,如果第一眼看着很舒服、有眼缘,那就有交往下去的可能。如果长的“三…
2023/9/26 18:38:39 人评论 次浏览 -
设计模式之单例模式
介绍 单例模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。 单例模式的八种方式 1.饿汉式(静态常量) 2.饿汉式(静态代码块) 3.懒汉式(线程不安全) 4.懒汉式(线程安全,同步方…
2023/6/25 1:23:34 人评论 次浏览 -
设计模式:适配器模式(论如何把鼠头适配成鸭脖)
适配器模式(Adapter Pattern)有时候也称包装样式或者包装,是一种结构型设计模式,它可以将一个类的接口转换成客户端所期望的另一个接口。适配器模式可以让原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式有三种类型:类适配器模式、对象适配器模式…
2023/6/18 1:23:31 人评论 次浏览 -
C++ 单例模式的各种坑及最佳实践
单例模式是设计模式中最简单、常见的一种。其主要目的是确保整个进程中,只有一个类的实例,并且提供一个统一的访问接口。常用于 Logger 类、通信接口类等。 基本原理 限制用户直接访问类的构造函数,提供一个统一的 public 接口获取单例对象。 这会有一个“先有鸡还是先…
2023/6/12 1:22:46 人评论 次浏览 -
策 略 模 式「指 鼠 为 鸭」
前言 大家好,我是 god23bin,今天我们来介绍下设计模式中的一个重要的设计模式——策略模式。 当涉及到某个行为或算法有多个变体时,策略模式是一种常见的设计模式。它允许在运行时选择使用不同的策略,而无需修改现有代码。 现在就使用设计模式中经常出现的鸭子模型来介…
2023/6/11 18:22:08 人评论 次浏览 -
代理模式的运用
目录一、代理模式的运用 1.1 介绍 1.2 结构1.3 静态代理 1.3.1 火车站买票案例类图 1.3.2 代码1.4 JDK动态代理 1.4.1 代码 1.4.2 JDK动态代理的执行流程1.5 CGLIB动态代理 1.5.1 导包 1.5.2 代码1.6 三种代理的对比 1.7 优缺点 1.8 使用场景一、代理模式的运用 1.1 介绍 …
2023/6/9 5:22:44 人评论 次浏览 -
观察者模式(Observer Pattern)
一、模式动机观察者模式用于描述对象之间的依赖关系,它引入了观察者和观察目标两类不同的角色,由于提供了抽象层,它使得增加新的观察者和观察目标都很方便。观察者模式广泛应用于各种编程语言的事件处理模型中,Java语言也提供了对观察者模式的全面支持。一个对象的状态…
2023/5/23 1:22:18 人评论 次浏览 -
桥接模式(Bridge Pattern)
模式动机 桥接模式(Bridge Pattern)是一种很实用的结构型模式,如果系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使得两者可以独立扩展。桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象关联取代了传统的多重继承,将类之间的静…
2023/5/21 18:22:22 人评论 次浏览 -
实际业务中使用策略模式对代码进行重构
一.业务描述 最近在负责公司一个语音的微服务模块优化,这个模块主要的业务是:1.天猫精灵、小度、若琪、小京鱼、小爱同学、思必驰这些第三方音响对我们的用户进行oauth2/JWT授权; 2.这些第三方音响服务调用我们的设备发现接口对公司的设备信息在第三方平台进行一个存储…
2023/5/20 18:22:10 人评论 次浏览 -
java设计模式【抽象工厂模式】
java设计模式【抽象工厂模式】 抽象工厂模式 抽象工厂模式是对简单工厂模式的一个变种,它允许通过一个统一的接口来创建不同的产品实例,而无需指定具体的子类。在这个模式中,我们只关心产品的抽象接口,而将具体的产品实现留给子类去实现。这样,我们可以通过创建不同的…
2023/5/17 18:22:12 人评论 次浏览