前端设计模式:单例模式(Singleton)
00、基本概念 单例模式(Singleton Pattern),也称单体模式,就是全局(或某一作用域范围)唯一实例,大家共享、复用一个实例对象,也可减少内存开销。单例模式应该是最基础、也最常见的设计模式了。 ?常见场景: 全局状态vuex,Jquery中的全局对象$,浏览器中的w...[2023/9/19]
软件设计模式系列之七——原型模式
1 模式的定义 原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新对象,而不是使用构造函数。原型模式将对象的创建委托给原型对象,通过克隆(复制)来生成新对象,这种方式可以避免对象的重复初始化,提高性能,并使对象的创建更加灵活和动态。 原型模...[2023/9/18]
软件设计模式系列之六——单例模式
1 模式的定义 单例模式(Singleton Pattern)是一种常见的创建型设计模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点来获取该实例。这意味着无论何时何地,只要需要该类的实例,都会返回同一个实例,而不是创建多个相同的实例。单例模式通常用于管理全局状态、资源共享或限制某些...[2023/9/15]
【23种设计模式】装饰模式(九)
前言 装饰模式,英文名称:Decorator Pattern。我第一次看到这个名称想到的是另外一个词语“装修”,我就说说我对“装修”的理解吧,大家一定要看清楚,是“装修”,不是“装饰”。在房子装修的过程中,各种功能可以相互组合,来增加房子的功用。类似的,如果我们在软件系统中,要给某个类型或者对象...[2023/9/14]
Java 设计模式实战系列—单例模式
本文首发公众号:小码A梦 单例模式是设计模式中最简单一个设计模式,该模式属于创建型模式,它提供了一种创建实例的最佳方式。 单例模式的定义也比较简单:一个类只能允许创建一个对象或者实例,那么这个类就是单例类,这种设计模式就叫做单例模式。 单例模式有哪些好处: 类的创建,特别是一个大型的...[2023/9/1]
Adapter 适配器模式简介与 C# 示例【结构型1】【设计模式来了_6】
〇、简介 1、什么是适配器模式? 一句话解释: ??两个无关联的类,通过实现同一接口或继承对方得到新的适配器类,新的适配器类中通过实现原本类的操作,可达到进行相同的操作的目的。 适配器模式(Apapter Pattern)是一种结构型设计模式,用于将一个类的实现转换成客户端所期望的另一个类,...[2023/8/30]
C#是否应该限制链式重载的设计模式?
知乎网友问 链式重载是我自己创造的一个词,意思是方法A里处理一下参数,return另一个方法A,第二个方法A里处理一下参数调第三个方法A,就这样无限循环下去直到调到真正能出结果的方法A。 本人学艺不精,偶然进行C#开发,感觉看代码要吐。比如看到某处调用方法A,除非有某个特征显眼的参数,否则根...[2023/8/29]
10个微服务设计模式
微服务设计模式是一种指导微服务架构设计和开发的一系列原则和实践。微服务设计模式的目的是为了解决微服务架构中遇到的一些常见的问题和挑战,比如服务划分、服务通信、服务治理、服务测试等。微服务设计模式可以帮助我们构建出高效、可靠、可扩展、可维护的微服务系统。 本文将介绍以下十种微服务设计模式: ...[2023/8/16]
Builder 生成器模式简介与 C# 示例【创建型2】【设计模式来了_2】
〇、简介 1、什么是生成器模式? 一句话解释: ??在构造一个复杂的对象(参数多且有可空类型)时,通过一个统一的构造链路,可选择的配置所需属性值,灵活实现可复用的构造过程。 生成器模式的重心,在于分离构建算法和具体的构造实现,从而使得构建算法可以重用。采用不同的构建实现,产生不同的产品。所以...[2023/8/2]
浅析访问者模式
0. 前言 在阅读 Kubernetes: kubectl 源码时看到有关访问者设计模式的运用。访问者模式是行为型设计模式的一种,本篇文章将对访问者模式做一个介绍。 1. 访问者模式 1.1 示例 首先,给出一个比较粗糙的示例。 实现程序,功能如下: 当男人成功时,显示我有一个好老婆;当...[2023/7/31]
浅析建造者模式
0. 前言 建造者模式是创建型设计模式的一种。本篇文章将介绍什么是建造者模式,以及什么时候用建造者模式,同时给出 Kubernetes:kubectl 中类似建造者模式的示例以加深理解。 1. 建造者模式 1.1 从工厂函数说起 试想构建房子类,其属性如下: type house stru...[2023/7/17]
你用过哪些设计模式(一)?
什么是设计模式? 一些经验总结的最佳实践! 是不是必须要用? 并不是,但是既然已经说是最佳实践了,该用的地方,你不用,就有些违背常理了。 一、单例 这个或许是最最最常见,也是最最最常用的了。 为什么要用单例模式? 因为只需要一个对象就够了(有时候只能有一个,有时候是不需要有多个)...[2023/6/28]
Java 设计模式实战系列—策略模式
从优惠打折活动说起 电商平台为了增加销量经常搞一些活动,比如 618、双十一,还有一些节假日活动,根据销量的变化又经常更新不同的活动。最开始为了增加销量,全场都六折: 打六折 public BigDecimal sixDiscount(BigDecimal amount) { Bi...[2023/6/26]
万字详解常用设计模式
本文是博主在工作中对常用设计模式的使用经验总结归纳而来分享给大家。 设计模式一共有23种,本文讲解涉及如下: 责任链模式 模板方法模式 发布订阅模式 策略模式 三大分类 业界一般将设计模式分为三大类: 创建型模式:对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分...[2023/6/19]
使用c#实现23种常见的设计模式
使用c#实现23种常见的设计模式 设计模式通常分为三个主要类别: 创建型模式 结构型模式 行为型模式。 这些模式是用于解决常见的对象导向设计问题的最佳实践。 以下是23种常见的设计模式并且提供c#代码案例: 创建型模式: 1. 单例模式(Singleton) publ...[2023/6/7]
设计模式之模板方法模式
一、简介 模板方法模式是一种行为型设计模式,它定义一个操作(模板方法)的基本组合与控制流程,将一些步骤(抽象方法)推迟到子类中,在使用时调用不同的子类,就可以达到不改变一个操作的基本流程情况下,即可修改其中的某些特定步骤。这种设计方式将特定步骤的具体实现与操作流程分离开来,实现了代码的复用和扩展...[2023/5/30]
Factory Method Pattern 工厂方法模式简介与 C# 示例【创建型】【设计模式来了】
〇、简介 1、什么是工厂方法模式? 一句话解释: ??实体类和工厂类均为单独实现,不影响已实现的类,方便扩展。 工厂方法模式(Factory Method Pattern)是一种创建型模式,它允许客户端通过工厂方法来创建对象,而不是直接使用构造函数。这样可以让客户端代码更加灵活,同时保持实现...[2023/5/29]
Singleton 单例模式简介与 C# 示例【创建型】【设计模式来了】
〇、简介 1、什么是单例模式? 一句话解释: ??单一的类,只能自己来创建唯一的一个对象。 单例模式(Singleton Pattern)是日常开发中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创...[2023/5/26]
桥接模式(Bridge Pattern)
模式动机 桥接模式(Bridge Pattern)是一种很实用的结构型模式,如果系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使得两者可以独立扩展。桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象关联取代了传统的多重继承,将类之间的静态继承关系转换为动态的对象组合...[2023/5/22]
解释器模式
begin 2023年04月15日16:49:35 引子 本科软件工程专业有这么一门课叫《编译原理》,课程内容已经忘了七七八八,但尤为清楚的是上机大作业是拷贝的,课程分数92。 定义 Given a language, define a representation for its gra...[2023/5/22]
聊一聊适配器模式
接口不能用?行,我帮你适配 一、概述 适配器模式(Adapter),是23种设计模式中的结构型模式之一;它就像我们电脑上接口不够时,需要用到的拓展坞,起到转接的作用。它可以将新的功能和原先的功能连接起来,使由于需求变动导致不能用的功能,重新利用起来。 上图的Mac上,只有两个type...[2023/5/17]
常用设计模式之.Net示例代码合集
每一次初学者粉丝朋友,在后台向我咨询编程问题,我除了给他们指导学习路线,我都会建议他们学完基础知识后,一定要要注重编程规范,学习设计模式,修炼内功。 虽然说很多程序员,他们日常主要工作是CRUD,但是学习设计模式也是有助于学习公司的框架,另外设计模式是为了可重用代码、让代码更容易被他人理解、保...[2023/5/15]
建造者模式(Builder Pattern)
模式动机 建造者模式(Builder Pattern)是最复杂的创建型模式,它用于创建一个包含多个组成部分的复杂对象,可以返回一个完整的产品对象给用户。它通过将客户端与包含多个组成部分的复杂对象的创建过程分离,使得客户端无需知道复杂对象的内部组成部分与装配方式,只需要知道建造者的类型即可。...[2023/5/10]
Java设计模式-原型模式
简介 原型模式是一种创建型设计模式,它允许在运行时通过复制现有对象来创建新对象,而不是通过构造函数创建。这个模式的核心思想是基于一个现有的对象克隆一个新的对象,这个过程对外部世界是透明的,就像对象从未被克隆过一样。 原型模式的一个关键优点是可以避免在创建对象时重复性地执行复杂的初始化操作,...[2023/5/8]
Java设计模式-单例模式
一、前言 单例模式是一种设计模式,它确保一个类只能创建一个实例,并提供一种全局访问这个实例的方式。在Java中,单例模式可以通过多种方式来实现,其中最常见的是使用私有构造函数和静态方法实现 二、基本语法 在Java中,实现单例模式的方式有多种,其中最常见的实现方式包括以下几种: 1、懒汉式...[2023/4/28]
贯穿设计模式第一话--单一职责原则
?????? 茫茫人海千千万万,感谢这一刻你看到了我的文章,感谢观赏,大家好呀,我是最爱吃鱼罐头,大家可以叫鱼罐头呦~?????? 从今天开始,将开启一个专栏,【贯穿设计模式】,设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案,是一套被反复使用、多数人知晓的、经过分...[2023/4/7]
【命令设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 命令模式(Command Pattern)是一种数据驱动的设计模式,也是一种行为型设计模式。这种模式的请求以命令的形式包裹在对象中,并传给调用对象。调用对象再寻找合适的对象,并把该命令传给相应的处理者。即把请求或操作封装成单个对象,并使其可以被参数化和延迟执行,这种方式将命令和执行者进行了...[2023/3/31]
前端设计模式——模板方法模式
前端设计模式中的模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个行为的骨架,将一些步骤推迟到子类中实现。这些步骤被称为“具体操作”(Concrete Operations),而整个行为的结构和顺序则被称为“模板方法”(Template Method...[2023/3/22]
设计模式(二十七)----行为型模式之解释器模式
1 概述 如上图,设计一个软件用来进行加减计算。我们第一想法就是使用工具类,提供对应的加法和减法的工具方法。 用于两个整数相加 public static int add(int a,int b){ return a + b; } ? 用于两个整数相加 pu...[2023/3/22]
设计模式(二十五)----行为型模式之访问者模式
1 概述 定义: 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 2 结构 访问者模式包含以下主要角色: 抽象访问者(Visitor)角色:定义了对每一个元素(Element)访问的行为,它的参数就是可以访问的元素,它的方法...[2023/3/20]
深度解析单例模式
饥汉模式 package com.cz.single; /** * @author 卓亦苇 * @version 1.0 * 2023/3/11 21:31 */ public cla Hungry { private byte[] data1 = new byte[102...[2023/3/15]
【建造者设计模式详解】Java/JS/Go/Python/TS不同语言实现
简介 建造者模式(Builder Pattern),也叫生成器模式,属于创建型模式。它使用多个简单的对象一步一步构建成一个复杂的对象。它允许你使用相同的创建代码生成不同类型和形式的对象。 当你希望使用代码创建不同形式的产品 (例如各种商品和订单) 时, 一些基本部件不会变,而其组合经常变化的时...[2023/3/14]
简易的工厂设计模式
工厂设计模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需暴露对象的创建逻辑。在工厂模式中,我们定义一个接口或抽象类,该接口或抽象类用于创建对象,但让子类决定要实例化的类。工厂方法模式使类的实例化延迟到其子类。 下面是一个完整的C#实现案例: 首先,我们定义一个接口,用于创建对...[2023/3/8]
详细讲解23种设计模式
工厂方法模式(Factory Method Pattern) 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法把对象的实例化推迟到子类。 代码示例: csharpCopy codepublic interface IProduct ...[2023/3/3]
设计模式(十四)----结构型模式之组合模式
1 概述 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的容器,容器里面包含很多的成员对象,这些成员对象即可是容器对...[2023/3/3]
设计模式(十三)----结构型模式之桥接模式
1 概述 现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。我们可以利用继承的方式来设计类的关系: 我们可以发现有很多的类,假如我们再增加一个形状或再增加一种颜色,就需要创建更多的类。 试想,在一个有多种可能会变化的维度的系统中,用继承方式会造成类爆炸,扩展起来不灵...[2023/2/28]
看完这篇原型设计模式,还不会,请你吃瓜
概述 使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 在软件系统开发中,有时候会遇到这样的情况:我们需要用到多个相同实例,最简单直接的方法是通过多次调用new方法来创建相同的实例。 student s=new student(); student s1=new stud...[2023/2/20]
写给准备跳槽的小伙伴们的设计模式——工厂方法设计模式
概述 工厂方法模式(FactoryMethod),定义一个创建产品对象的工厂接口,让工厂子类决定实例化那一个产品类。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”,它不属于 23 种经典设计模式,它的缺点是...[2023/2/15]
设计模式(七)----创建型模式之建造者模式
1、概述 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。 由于实现了构建和装配的解耦。不同的构建器,相同...[2023/2/10]
搞懂设计模式——代理模式 + 原理分析
作者:京东零售 秦浩然 引子 举个栗子,众所周知,我们是可以在京东上购买机票的。 但机票是航司提供的,我们本质上是代理销售而已。 那为什么航司要让我们代理销售呢? 我们又是如帮他做代理的呢? 别急,本文将展开说说他们之间的关系。。。 一个有梦想的航司 从前有个航司打算开展线上销售机票业...[2023/2/8]
设计模式(六)----创建型模式之原型模式
1、概述 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 2、结构 原型模式包含如下角色: 抽象原型类:规定了具体原型对象必须实现的的 clone() 方法。 具体原型类:实现抽象原型类的 clone() 方法,它是可被复制的对象。 访问类...[2023/2/8]
设计模式(五)----创建型模式之工厂模式
1、概述 需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。 具体类的设计如下: 在java中,万物皆...[2023/2/6]
设计模式(三)----创建型模式之单例模式(一)
一、创建型模式 创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。 这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。 创建型模式分为: 单例模式 工厂方法模式 抽象工厂模式 原型模式 建造者模式 1.1 单例设计...[2023/2/3]
一篇文章带你了解设计模式——结构型模式
一篇文章带你了解设计模式——结构型模式 在之前的文章中我们已经介绍了设计模式中的创建者模式 下面我们来学习第二种类型的设计模式,结构型模式描述如何将类或对象按某种布局组成更大的结构 它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合...[2023/2/3]
(Java)设计模式:结构型
前言 这篇博文续接的是 UML建模、设计原则、创建型设计模式、行为型设计模式,有兴趣的可以看一下 3.3、结构型 这些设计模式关注类和对象的组合。将类和对象组合在一起,从而形成更大的结构 * 3.3.1、proxy 代理模式 定义:为某对象提供一种代理以控制对该对象的访问。即:...[2023/1/16]
设计模式之单例模式
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https: githu...[2023/1/11]
设计模式实践---策略模式实现对大量计算公式的处理
业务流程: 1.用户根据需要选择的实验方案,每个实验方案对应一种计算公式,计算公式例如下面这种 2.将带有实验数据的PDF文件上传到特定位置,对PDF文件进行解析后将数据数据保存到数据库。 3.遍历所有方案,对每种方案使用特定的公式对数据库中的数据进行 重构...[2023/1/6]
软件设计模式白话文系列(十四)策略模式
1、模式描述 定义一个算法的系列,将其各个分装,并且使他们有交互性。策略模式使得算法在用户使用的时候能独立的改变。 在 Java 中,从 JDK1.8 开始支持函数式编程,就是策略模式的一种体现,且无需借助额外的类和接口,代码更加简洁。 2、模式结构 抽象策略类:定义策略算法的规范。 具体策...[2022/11/23]
两万字盘点被玩烂了的9种设计模式
大家好,我是三友~~ 之前有小伙伴私信我说看源码的时候感觉源码很难,不知道该怎么看,其实这有部分原因是因为没有弄懂一些源码实现的套路,也就是设计模式,所以本文我就总结了9种在源码中非常常见的设计模式,并列举了很多源码的实现例子,希望对你看源码和日常工作中有所帮助。 单例模式 单例模式是指一...[2022/11/17]
软件设计模式白话文系列(十一)享元模式
1、描述 以共享的方法高效地支持大量细粒度对象的复用。在 Java 中,通过提前初始化对象或者首次使用后记录对象,后续使用就可以复用对象来实现享元模式。类似缓存技术。 2、模式结构 享元对象:可复用对象。 享元工厂类:享元对象的工厂类,负责创建、储存享元对象。客户端从工厂类请求对象有...[2022/11/17]