技术栈
设计模式
阿波罗尼亚
1 小时前
设计模式
Head First设计模式(十四) 设计原则 其他的模式
使用桥接模式不只改变你的实现,也改变你的抽象。优点:用途和缺点:使用生成器模式来封装一个产品的构造过程,并允许按步骤构造
山风wind
4 小时前
设计模式
·
责任链模式
设计模式-责任链模式:让请求在链条中流动直到被处理
在日常开发中,我们经常遇到这样的场景:一个请求需要经过多个对象的处理,每个对象都有可能处理这个请求,但具体由哪个对象处理在运行时才能确定。比如请假审批流程、过滤敏感词、异常处理等。如果使用传统的if-else嵌套,代码会变得臃肿且难以维护。
invicinble
5 小时前
设计模式
设计模式全局预览,以及为什么会
!设计模式的产生和发展背后有着深刻的原因:设计模式的产生是软件开发经验积累的必然结果。它们不是凭空发明的,而是从无数实际项目中提炼出来的解决特定问题的成熟方案。就像木工的工具箱,不同的工具(模式)解决不同的问题。理解模式背后的"为什么"比记住模式本身更重要,这样才能在适当的时候选择适当的工具。
小股虫
6 小时前
分布式
·
微服务
·
设计模式
·
架构
·
团队建设
·
方法论
让系统“杀不死”:同步与异步场景下的弹性设计模式手册
本文是「架构师的技术基石」系列的第3-1篇。查看系列完整路线图与所有文章目录:【重磅系列】架构师技术基石全景图:以「增长中台」贯穿16讲硬核实战
山风wind
7 小时前
设计模式
·
状态模式
设计模式:状态模式详解-让对象的行为随状态改变而改变
状态模式是一种行为设计模式,它允许一个对象在其内部状态改变时改变它的行为,对象看起来好像修改了它的类。
__万波__
7 小时前
java
·
设计模式
·
中介者模式
二十三种设计模式(十八)--中介者模式
中介者模式为了解决各种子模块子组件之间相互错综复杂的依赖问题, 将所有子模块之间的依赖关系单独抽离出来封装到中介者类中, 实现子模块彼此间独立, 各司其职. 中介者类与MVC架构中的Controller类很相似, 但是中介者模式的封装类很容易就变成了一个上帝类, 内部不仅封装了模块间错综复杂的依赖关系, 还封装了业务逻辑, 业务逻辑变更了, 中介者类也变更, 违反单一职责原则. 中介者模式要注意三项职责分开:
自由生长2024
14 小时前
设计模式
设计模式和设计原则-中高级架构思路-面向接口编程
历史文章参见设计模式-23种设计模式的说法-掘金每日知识-设计模式-状态机模式-掘金每日知识-设计模式-观察者模式 - 掘金
大厂技术总监下海
1 天前
分布式
·
设计模式
为何顶尖科技公司都依赖它?解码 Protocol Buffers 背后的高性能、可演进设计模式
Protocol Buffers 的核心是一个 接口定义语言(IDL) 及一套 代码生成工具和运行时库。其工作流程可概括为:
EnzoRay
1 天前
设计模式
代理模式
代理模式(Proxy Pattern)也称为委托模式,一般就是自己直接访问某个对象有一定困难,需要委托别人(代理对象)来间接访问的一种设计模式。代理模式其实在日常生活中很常见,比如你发现国外的名牌比较便宜,但是自己又不想花钱出国,于是你委托你国外的朋友帮你把名牌买回来。又或者比如你的老板不给你发工资,你得请一个律师帮你打官司。还有比如你想租房,你通过中介租房子,这也是代理。
weixin_47843332
1 天前
java
·
开发语言
·
设计模式
iluwatar 设计模式
目前我常用多种调用, 某个实现类接口A,a.handle(Context ctx); 改变调用观念,创建不一样的行为h,创建不一样的上下文c, 正常观念 h.handle©跟上面一样, 但这个 c.accept(h) -> 细节 -》 h.handle©;中间多了一层。目前来看可以避免不必要的ctx透传,外加接口约束
郝学胜-神的一滴
1 天前
java
·
开发语言
·
c++
·
python
·
设计模式
·
软件工程
Python面向对象编程:解耦、多态与魔法艺术
软件工程之道,首重解耦。解耦者,乃"分而治之"之现代演绎也。模块之间,若即若离;功能之内,浑然一体。高内聚而低耦合,此乃软件设计之黄金法则。
__万波__
1 天前
java
·
设计模式
·
迭代器模式
二十三种设计模式(十六)--迭代器模式
迭代器模式通过统一的接口解决元素遍历的问题, 屏蔽掉元素复杂的算法细节, 从而让调用者专注于实际业务的处理. 示例代码如下:
范纹杉想快点毕业
2 天前
c语言
·
数据库
·
mongodb
·
设计模式
·
nosql
返璞归真还是拥抱现代?——嵌入式研发中的“裸机开发”与RTOS全景解析
裸机开发(Bare Metal Programming)是嵌入式系统开发中最基础、最直接的方式,指在没有操作系统或任何运行时环境支持下,直接对硬件资源进行编程。在这种模式下,开发者需要从系统上电复位后的第一条指令开始,完全掌控整个系统的运行流程。
代码笔耕
2 天前
java
·
设计模式
·
架构
面向对象开发实践之消息中心设计(四)--- 面向变化的定力
面向对象不是为了消除复杂性,而是为了使复杂性受控。通过前三篇的实战,我们从消息建模、创建链路、渲染体系,一步步构建了一个可扩展的消息中心。
程序员泠零澪回家种桔子
2 天前
后端
·
spring
·
设计模式
·
架构
ReAct Agent 后端架构解析
定义ReAct(Reasoning + Acting)范式的基本概念:ReAct是一种将推理(Reasoning)和行动(Acting)相结合的AI范式,旨在通过动态交互实现更智能的决策。其核心在于模拟人类"思考-行动-反思"的认知过程,在复杂环境中实现渐进式优化。
阿闽ooo
2 天前
c++
·
设计模式
·
编辑器
·
享元模式
深入浅出享元模式:从图形编辑器看对象复用的艺术
在软件开发中,当系统需要处理大量相似对象时,内存占用往往成为性能瓶颈。想象一下,在一个图形编辑器中,如果用户绘制了成千上万的圆形,每个圆形都作为独立对象存在,即使它们的形状完全相同,也会造成极大的内存浪费。这时候,享元模式(Flyweight Pattern)就成为了拯救内存的利器。本文将结合图形编辑器的实战场景,深入解析享元模式的设计思想与实现方式,揭示如何通过对象复用优化系统资源占用。
阿闽ooo
2 天前
c++
·
笔记
·
设计模式
·
组合模式
组合模式(Composite Pattern)深度解析:从原理到企业级实践
软件设计中,“部分-整体”层级场景普遍存在,如文件系统“文件夹-文件”、图形编辑器“组合图形-基础图形”、企业“公司-部门-员工”结构。这类场景的痛点是:客户端需同时操作单个对象(员工)与组合对象(部门),若单独处理,代码会充斥if-else判断,耦合度高、难维护。
山风wind
2 天前
设计模式
·
策略模式
设计模式-策略模式详解
在软件开发中,常常会遇到这样的情况:一个功能有多种实现方式,比如支付功能可以有支付宝、微信支付、银行卡支付等多种方式;排序功能可以有快速排序、归并排序、堆排序等多种算法。如果将这些实现都硬编码在一个类中,代码会变得臃肿、难以维护,而且新增一种实现方式时需要修改原有代码。存在一种优雅解决此类问题的设计模式——策略模式。
阿拉斯攀登
2 天前
java
·
设计模式
设计模式:实战概要
目录一、 创建型模式:解决对象创建的复杂问题1. 单例模式:全局配置管理(无人售货柜项目)场景痛点解决方案:懒汉式单例(双重检查锁,线程安全)
阿拉斯攀登
2 天前
java
·
设计模式
·
抽象工厂模式
设计模式:工厂模式概要
目录一、工厂模式的核心分类二、1. 简单工厂模式核心思想适用场景无人售货柜项目案例:支付渠道创建步骤 1:定义产品接口