设计模式:代理模式详解
需求场景 按着惯例,还是以一个应用场景作为代理模式的切入点。现在有一个订单系统,要求是:一旦订单被创建,只有订单的创建人才可以修改订单中的数据,其他人则不能修改。 基本实现思路 按着最直白的思路,就是查询数据库中订单的创建人和当前Se ion中的登录账号ID是否一致。 cla Order...[2024/7/17]
设计模式-C#实现简单工厂模式
前言 上一篇文章写了如何使用RabbitMQ做个简单的发送邮件项目,然后评论也是比较多,也是准备去学习一下如何确保RabbitMQ的消息可靠性,但是由于时间原因,先来说说设计模式中的简单工厂模式吧! 在了解简单工厂模式之前,我们要知道C#是一款面向对象的高级程序语言。它有3大特性,封装、继承、...[2024/7/17]
设计模式之工厂模式(学习笔记)
定义 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类来决定实例化哪一个类。工厂方法使得类的实例化延迟到子类,这样可以让客户端在不需要知道具体类的情况下创建对象。工厂方法模式通过使用继承和多态性,允许子类来控制对象的创建方式,能够更好地应对对象创建的复杂性和变化性。 &n...[2024/7/17]
设计模式学习(二)工厂模式——工厂方法模式+注册表
目录工厂方法模式的瑕疵注册表 工厂方法模式的瑕疵 在前一篇笔记中我们介绍了工厂方法模式,示例的类图如下: 考虑一种情况:现在要在程序运行时,根据外部资源,动态的实例化对象。也就是说在编译期我们无法知道要实例化的对象的类型。因此在实例化的过程中,就需要加以判断。 例如,在我的例子中,要...[2024/6/5]
(工厂+策略)实现登录功能
原始代码 业务层UserService @Service public cla UserService { public LoginResp login(LoginReq loginReq){ if(loginReq.getType().equals("accou...[2024/6/1]
(JAVA)设计模式-适配器模式
模式的定义和特点: 适配器模式(Adapter)是一种将一个类的接口转换成客户希望的另外一个接口的设计模式,可以提高代码的复用性和灵活性。 结构与实现: 定义一个适配器类来实现业务接口,再继承现有组件库中已经存在的组件。 示例: 创建业务接口类: 点击查看代码 ...[2024/6/1]
Java设计模式总结
前言1 刚才整理博客的时候,发觉草稿箱里面躺了一篇文章。这篇文章来自于6年前,2018年,我还在读书的时候。当时csdn,博客园还是行业top,近些年掘金,思否,个人ip站的崛起,也预示着互联网进程的演变。 过了6年之久,这篇文章还没有发布,趁现在有空,补充并且发布一下。 前言2 面试的...[2024/5/29]
Java面试题:Spring框架除了IOC和AOP,还有哪些好玩的设计模式?
Spring是一个基于Java的企业级应用程序开发框架,它使用了多种设计模式来实现其各种特性和功能。本文将介绍一些在Spring中使用的常见设计模式以及相应的代码示例和说明。 单例模式 单例模式是Spring中最常用的设计模式之一。在ApplicationContext中,Bean默认为...[2024/5/15]
什么是设计模式?
在此分享下个人拙见,文章有点长,需要静下心来慢慢看,或者去WX公众号点击上方的听书↑ 学习设计模式需要具备的基础知识 熟悉一门面向对象的编程语言 理解面向对象的三大特性,尤其是多态 能看懂UML的类图 本文就以下几点进行展开 什么是设计模式 如果将代码的设计和编写...[2024/3/19]
设计模式学习(一)单例模式的几种实现方式
目录前言饿汉式懒汉式懒汉式DCLP局部静态式(Meyers'' Singleton)单例模板参考文章 前言 单例模式,其核心目标是确保在程序运行的过程中,有且只有存在一个实例才能保证他们的逻辑正确性以及良好的效率。因此单例模式的实现思路就是确保一个类有且只有一个实例,并提供一个该实例的全局访...[2024/3/19]
我们在SqlSugar开发框架中,用到的一些设计模式
我们在《SqlSugar开发框架》中,有时候都会根据一些需要引入一些设计模式,主要的目的是为了解决问题提供便利和代码重用等目的。而不是为用而用,我们的目的是解决问题,并在一定的场景下以水到渠成的方式处理。不过引入任何的设计模式,都会增加一定的学习难度,除非是自己本身领会比较好了,就会显得轻松一些...[2024/2/23]
3分钟看懂设计模式01:策略模式
一、什么是策略模式 定义一些列算法类,将每一个算法封装起来,并让它们可以互相替换。 策略模式让算法独立于使用它的客户而变化,是一种对象行为型模式。 以上是策略模式的一般定义,属于是课本内容。 在没有真正理解策略模式之前并不需要对此定义下过多功夫,读一遍直接进入下一章节。 二、为什么要用策略...[2024/2/23]
设计模式浅析(三) ·装饰者模式
设计模式浅析(三) ·装饰者模式 日常叨逼叨 java设计模式浅析,如果觉得对你有帮助,记得一键三连,谢谢各位观众老爷???? halo各位小伙伴们,今天我们一起来了解一下装饰者模式,首先还是先进入下面的案例,话不多说,我们开始吧! 案例介绍 蜜雪**是规模比较大的连锁饮品店,因为分店开...[2024/2/5]
设计模式浅析(二) ·观察者模式
设计模式浅析(二) ·观察者模式 日常叨逼叨 java设计模式浅析,如果觉得对你有帮助,记得一键三连,谢谢各位观众老爷???? 案例介绍 假设存在下面这个场景: 你有一个监测空气湿度和温度的仪器,在该仪器获取到数值之后,你需要获取到一些数值,然后分别显示在一些显示设备(手机,平板,手环 ...[2024/2/5]
Java五种设计模式实现奶茶订单生成系统小DEMO
前言 这是大学时候上设计模式这门课写的程序,当时课程任务是要求结合五个设计模式写一个系统,最近偶然翻到,把系统分享一下。 成品预览 主界面 ? 功能介绍 订单管理系统,实现了对订单的增删改查。且实现了将订单内容写入文件,每次增删改查都会做保存,下次重启程...[2023/12/18]
GOF23--23种设计模式(一)
一.什么是设计模式 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决一系列特定问题的套路。 它不是语法规定,而是一套用来提高代码复用性,可读性,可维护性,稳健性,安全性的解决方案 设计模式的雏形: 1995年,GOF(Gang of&nb...[2023/12/5]
前端常用设计模式
什么是设计模式? ? 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,设计模式并不是一种固定的公式,而是一种思想,是一种解决问题的思路;使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可维护性。 设计模式不区分...[2023/11/8]
设计模式六大原则
前言 什么是设计模式? 设计模式是软件设计人员、软件开发人员在程序代码编写中总结出来的一套编码规范,设计模式起一个指导作用,用来指导我们写出高内聚低耦合,具有良好的可扩展性和可维护性的代码。 为什么要学设计模式? 当然,设计模式不是非学不可,不了解设计模式一样可以在工作中写出符合产品要求的功能...[2023/11/6]
c#中建造者设计模式详解
基础介绍: ??将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 ??说白了就是将一个复杂的对象拆分成一个一个零件,然后按照既定顺序和规则进行组装,最终形成这个相对复杂的对象。 ??具体可分为4个角色: ????Product(产品):复杂对象本身。 ????B...[2023/11/6]
设计模式—创建型模式之原型模式
设计模式—创建型模式之原型模式 原型模式(Prototype Pattern)用于创建重复的对象,同时又能保证性能。 本体给外部提供一个克隆体进行使用。 比如我们做一个SjdwzMybatis,用来操作数据库,从数据库里面查出很多记录,其中很多记录改变很少。每次查数据库,把所有数据都封装一个...[2023/10/30]
Facade 外观模式简介与 C# 示例【结构型5】【设计模式来了_10】
〇、简介 1、什么是外观模式? 一句话解释: ??将一系列需要一起进行的操作,封装到一个类中,通过对某一个方法的调用,自动完成一系列操作。 外观模式是一种简单而又实用的设计模式,它的目的是提供一个统一的接口,使得客户端可以通过这个接口来访问子系统中的一组接口,而无需关心子系统中接口的具体实现...[2023/10/25]
Node.js中常用的设计模式有哪些?
本文由葡萄城技术团队首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 设计模式简介 设计模式是由经验丰富的程序员在日积月累中抽象出的用以解决通用问题的可复用解决方案,它提供了标准化的代码设计方案提升开发体验。Node.js 作为一款用来构建...[2023/10/19]
解析设计模式与设计原则:构建可维护性和可扩展性代码的重要性
本文分享自华为云社区《深入解析设计模式与设计原则:构建可维护性和可扩展性代码的重要性》,作者: Lion Long。 一、为什么需要设计模式? 1.1、设计模式的定义 设计模式大概有23种。 设计模式是指在软件开发中,经过验证的,用于解决在特定环境下,重复出现的,特定问题的解决方案...[2023/10/17]
前端设计模式:单例模式(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]