设计模式

白衣鸽子6 小时前
后端·设计模式
【基础数据篇】数据格式化妆师:Formatter模式在软件系统中,数据始终存在两种形态:内部存储形态与外部展示形态。试想一下这些场景:如果将这些格式化逻辑散落、硬编码在业务代码的各个角落,会导致一系列问题:代码重复、难以维护、本地化支持困难,并且破坏了单一职责原则——业务逻辑类不该关心数据该如何显示。
ZHE|张恒7 小时前
设计模式·命令模式
设计模式(十八)命令模式 —— 将操作封装成对象,实现撤销、队列等扩展“请求即对象,行为可编程。”在现代软件系统中,我们常常需要支持撤销/重做、将操作排队执行、实现事务回滚,或解耦调用者与执行者。若直接通过方法调用或硬编码逻辑,这些需求将导致代码高度耦合、难以扩展、无法动态组合。
settingsun122510 小时前
设计模式
AI App: Tool Use Design Pattern 工具使用设计模式工具使用设计模式侧重于赋予大型语言模型与外部工具交互的能力,以实现特定目标。工具是代理可以执行的代码,用于执行作。工具可以是简单的函数,比如计算器,也可以是调用第三方服务(如股票价格查询或天气预报)的 API。
y***54881 天前
设计模式
PHP框架设计模式(二)先说单例模式,这玩意儿在框架里简直像空气一样无处不在。数据库连接、缓存处理、配置加载,哪个不是全局唯一实例?但见过有人把业务逻辑也塞进单例的,结果单元测试时各种依赖缠绕得像毛线团。好的框架会把单例控制在基础设施层,比如Laravel的Service Container虽然底层用单例管理实例,但通过依赖注入让业务层无感知,这才是优雅的实现。
口袋物联1 天前
c语言·设计模式·适配器模式
设计模式之适配器模式在 C 语言中的应用(含 Linux 内核实例)适配器模式(Adapter Pattern)是一种结构型设计模式,其核心是将一个类的接口转换成客户端期望的另一种接口,使原本因接口不兼容而无法协同工作的类能够一起工作。
MobotStone1 天前
设计模式·架构
大数据:我们是否在犯一个大错误?“大数据”是一个模糊的术语,却迅速成为企业家、科学家、政府和媒体关注的现象。五年前,来自谷歌的一组研究人员在世界顶级科学期刊《自然》(Nature)上宣布了一项了不起的成就。他们不需要任何体检结果,就能追踪流感在美国的传播情况。更重要的是,他们的速度比美国疾病控制与预防中心(CDC)还要快。谷歌的追踪只有一天的延迟,而CDC根据医生诊所的报告汇总出疫情图景则需要一周甚至更长时间。谷歌之所以更快,是因为他们通过人们在网上搜索的内容与是否出现流感症状之间建立了一种关联。
7***n751 天前
前端·设计模式·状态模式
前端设计模式详解先说说观察者模式(Observer Pattern),它在前端中的应用非常广泛。简单来说,它定义了一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都会自动收到通知并更新。举个例子,在前端事件监听中,比如用户点击按钮,多个组件需要响应这个动作。用原生JavaScript实现的话,可以定义一个主题对象来管理观察者列表,通过add和remove方法动态注册或移除观察者,然后通过notify方法触发更新。这种模式的优点在于解耦了主题和观察者,使得代码更灵活,易于扩展。不过,如果观察者过多,可能
兵bing1 天前
设计模式·装饰器模式
设计模式-装饰器模式FileInputStream in = new FileInputStream(); 它的装饰类有: 缓冲输入流 in = new BufferedInputStream(in)。 字符输入流 Reader reader = new InputStreamReader(in); 字符缓冲输入流 BufferedReader br = new BufferedRead(reader); 所有设计模式的目的都是代码复用和对象解耦
雨中飘荡的记忆1 天前
java·设计模式
深入理解设计模式之适配器模式在软件开发中,我们经常遇到这样的问题:已有的类接口与需要的接口不匹配。比如你有一个欧标插头的电器,但酒店只提供美标插座;或者你需要整合一个第三方SDK,但它的接口与你的系统不兼容。这时,适配器模式就派上用场了。
雨中飘荡的记忆1 天前
java·设计模式
深入理解设计模式之装饰者模式在软件开发中,我们经常需要给对象添加新的功能。最直接的方式是通过继承来扩展类,但这种方式会导致类的数量急剧增加,且不够灵活。装饰者模式提供了一种更加灵活的替代方案:在运行时动态地给对象添加职责,而不是通过继承。
老鼠只爱大米1 天前
java·设计模式·外观模式·facade·java设计模式
Java设计模式之外观模式(Facade)详解外观模式(Facade Pattern) 是一种结构型设计模式,它为复杂的子系统提供一个统一的接口,使得子系统更容易使用。这种模式通过创建一个高层接口,隐藏系统的复杂性,让客户端只需与这个接口交互,而不需要直接调用底层子系统。
qq_172805591 天前
开发语言·设计模式·golang
Go 语言结构型设计模式深度解析在 Go 语言中,虽然缺乏传统的类和继承机制,但通过接口、结构体和组合,我们同样可以优雅地实现各种面向对象设计模式。
佛祖让我来巡山2 天前
设计模式·责任链模式·策略模式·模版模式
设计模式深度解析:策略模式、责任链模式与模板模式在软件开发过程中,设计模式是解决常见问题的经典方案。今天我们将深入探讨三种常用的行为型设计模式:策略模式、责任链模式和模板模式。每种模式都有其独特的适用场景和优势,能够帮助我们编写出更加灵活、可维护的代码。
__万波__2 天前
java·设计模式·抽象工厂模式
二十三种设计模式(三)--抽象工厂模式抽象工厂模式在代码上看, 仅仅是将工厂方法模式的具体方法类由一个扩展成了多个, 方法类接口由一个变成一组 但是抽象方法类最终要解决的是"一组相关属性"的问题 具体实现示例如下: 工厂类的接口包含一组方法接口, 这里是和工厂方法模式最直接的区别 所以, 抽象工厂模式解决的问题就是, 一个工厂对象是通过一组相关子对象共同协作完成的.
转转技术团队2 天前
前端·设计模式·前端框架
VDOM 编年史作为前端开发者,你应该对以下技术演进过程并不陌生:jQuery → MVC → React/Vue(VDOM)→ Svelte/Solid/Qwik(无 VDOM)
明洞日记2 天前
java·设计模式·解释器模式
【设计模式手册014】解释器模式 - 语言解释的优雅实现本文是「设计模式手册」系列第014篇,我们将深入探讨解释器模式,这种模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
ZHE|张恒2 天前
设计模式·迭代器模式
设计模式(十六)迭代器模式 — 统一访问集合元素的方式,不暴露内部结构“遍历不是问题,暴露结构才是。”在现代软件系统中,数据结构日益复杂:嵌套 JSON、图数据库、分页 API、实时事件流……若客户端直接依赖底层存储形式(数组索引、链表指针、SQL 游标),将导致:
未秃头的程序猿2 天前
后端·设计模式
🚀 设计模式在复杂支付系统中的应用:策略+工厂+模板方法模式实战想象一下这样的场景:你的支付系统需要支持微信小程序支付、快捷支付、扫码支付等多种支付方式,同时要处理补换设备、申办支付、短信套餐购买、代扣抹平充值等多种业务场景。更复杂的是,这些支付方式和业务场景会任意组合!
雨中飘荡的记忆2 天前
java·设计模式
深入理解设计模式之单例模式在软件开发中,有些对象我们只需要一个实例。比如:配置管理器、线程池、缓存、日志对象、数据库连接池等。如果创建多个实例,不仅浪费资源,还可能导致数据不一致等问题。
8***29312 天前
spring boot·后端·设计模式
能懂!基于Springboot的用户增删查改(三层设计模式)左家垅大学安排计算机专业的学生在期末前进行了JavaWeb的实训,Tianlang对此很疑惑:1>什么是数据库?怎么使用 2>怎么在IDEA连接数据库 3>怎么搭建应用DSC框架 特别地,Dao层(或Repository)怎么和数据库搭上关系?Service层又怎么实现调用Dao接口?Controller层和之前做的应用选择块有什么联系?