技术栈
设计模式
口袋物联
1 小时前
c语言
·
设计模式
·
建造者模式
设计模式之建造者模式在 C 语言中的应用(含 Linux 内核实例)
建造者模式(Builder Pattern)是一种创建型设计模式,其核心是将复杂对象的构建过程与对象表示分离—— 通过一个 “建造者” 角色分步构建对象的各个组件,再由 “指挥者” 角色统一控制构建流程,最终生成独立于构建过程的复杂对象。
phdsky
4 小时前
c++
·
设计模式
·
抽象工厂模式
【设计模式】抽象工厂模式
创建型模式
7***3745
5 小时前
java
·
开发语言
·
设计模式
Java设计模式之工厂
工厂模式属于创建型设计模式,核心思想是将对象的创建过程封装起来,让客户端代码不直接依赖具体类,而是通过一个统一的接口或方法来获取对象。这样做的好处是提高了代码的灵活性和可维护性,尤其适合在需求频繁变化的项目中应用。举个例子,假设我们有一个图形绘制应用,需要支持多种形状如圆形、矩形和三角形。如果每次新增一个形状,都得去修改客户端代码,那维护成本就太高了。而工厂模式能将这些创建逻辑集中管理,让扩展变得轻松许多。
雨中飘荡的记忆
6 小时前
设计模式
设计模式之原型模式
在软件开发中,我们经常需要创建大量相似的对象。如果每次都通过new关键字创建,会面临以下问题:想象这样的场景:你正在开发一个文档编辑器,用户需要复制一个包含格式、样式、内容的复杂文档。如果每次都重新创建并设置所有属性,不仅代码复杂,性能也会很差。更好的方式是直接复制现有文档,这就是原型模式的核心思想。
LengineerC
6 小时前
设计模式
·
rust
Rust仿node事件总线的简单实现
用过node的人都知道,事件驱动是node的核心运行机制。在异步编程中我们可以给一个事件绑定一个回调,当任务执行完成后emit一个事件触发回调。node中,官方提供了EventEmitter的给用户做自定义事件处理:
IT永勇
8 小时前
c++
·
设计模式
·
装饰器模式
C++设计模式-装饰器模式
从外部给类添加新职能,而不用去修改原始的类(满足面向对象的开放-封闭原则),扩展性好,可复用程度高。component.h 这个文件描述原始对象和需要被装饰的对象
口袋物联
14 小时前
linux
·
c语言
·
设计模式
·
简单工厂模式
设计模式之工厂模式在 C 语言中的应用(含 Linux 内核实例)
工厂模式(Factory Pattern)是一种创建型设计模式,其核心是通过统一的 “工厂” 接口创建对象,而非直接调用malloc或构造函数。该模式将对象创建逻辑与使用逻辑解耦,隐藏对象创建的细节(如内存分配、初始化步骤),让客户端只需关注对象的使用,无需关心对象如何创建。
phdsky
17 小时前
c++
·
设计模式
·
建造者模式
【设计模式】建造者模式
创建型模式
小毛驴850
17 小时前
python
·
设计模式
·
装饰器模式
软件设计模式-装饰器模式
一个装饰器模式的 Java Demo。这个例子将模拟 Java I/O 中的 BufferedReader(FileReader) 结构。
phdsky
19 小时前
设计模式
·
代理模式
【设计模式】代理模式
结构型设计模式
ZHE|张恒
1 天前
设计模式
·
代理模式
设计模式(十二)代理模式 — 用代理控制访问,实现延迟加载、权限控制等功能
在软件工程中,“间接性”往往是灵活性与可维护性的源泉。代理模式(Proxy Pattern)正是这一思想的经典体现。它通过引入一个“中间人”对象,在不改变原始接口的前提下,实现对目标对象的访问控制、功能增强或行为拦截。无论是图片懒加载、权限校验、远程调用,还是 Spring 的事务管理,背后都离不开代理的身影。
SakuraOnTheWay
1 天前
设计模式
《深入设计模式》学习(1)—— 深入理解OOP中的6种对象关系
在前端组件开发中,我发现很多设计问题的根源在于对对象关系理解不够深入。一个组件应该依赖还是关联某个服务?子组件该用聚合还是组合?这些看似简单的选择,直接影响了组件的可维护性和可测试性。
q***7185
1 天前
java
·
spring cloud
·
设计模式
Java进阶-SpringCloud设计模式-工厂模式的设计与详解
在Java和Spring Cloud的上下文中,虽然Spring Cloud本身并没有直接实现传统的设计模式(如工厂模式),但理解设计模式如何与Spring框架结合使用是非常重要的。工厂模式是一种创建型设计模式,它提供了一种封装对象创建过程的机制,使得代码更加灵活和可维护。
白衣鸽子
1 天前
后端
·
设计模式
·
代码规范
告别参数地狱:业务代码中自定义Context的最佳实践
在复杂的业务系统开发中,我们经常遇到这样的场景:一个业务方法需要传递用户信息、权限上下文、请求标识等大量参数。这些参数在方法调用链中层层传递,导致代码臃肿、可读性差、维护困难。本文将介绍如何通过自定义Context模式解决这一痛点,提升代码质量和开发效率。
帅中的小灰灰
2 天前
java
·
c++
·
设计模式
C++编程建造器设计模式
构造器模式用于分离复杂对象的构造与表示。它允许用户通过相同的构造过程创建不同的对象表示,特别适用于需要多个步骤才能完成的对象创建场景。
ZHE|张恒
2 天前
设计模式
·
外观模式
设计模式(十)外观模式 — 提供统一入口,简化复杂系统的使用
在企业级系统中,你会发现某些模块往往包含多个子系统、子模块、工具类:当客户端直接接触这些复杂细节时,代码会变得:
howcode
2 天前
后端
·
设计模式
·
程序员
女友去玩,竟带回一道 “虐哭程序员” 的难题
前两周,女朋友去了开封玩一趟,回来后不久,她微信上和我吐槽了一件糟心事:由于她在两个平台都购了票,后面行程太赶,忘记在其中一个平台退票,导致现在无法退票
apigfly
3 天前
android
·
设计模式
·
源码
深入Android系统(十三)Android的窗口系统
Android的窗口系统由WindowManagerService管理,包括增加和删除窗口,确定窗口的大小和位置,以及实现窗口切换、窗口动画等功能。WindowManagerService名字较长,后面简称WMS
y***5488
3 天前
观察者模式
·
设计模式
Java设计模式之观察者模式
观察者模式的核心思想特别像现实中的订阅机制。举个例子,你关注了一个网红博主的微博,博主每次发新动态,平台会自动推送给所有粉丝,而你不需要整天手动去刷主页。在编程世界里,这种模式让对象之间建立一种“一对多”的依赖关系:当一个核心对象(称为“主题”或“被观察者”)状态变化时,所有依赖它的对象(称为“观察者”)会自动收到通知并执行相应操作。这种设计完美解耦了主题和观察者——主题根本不用关心谁在监听它,只管发通知;观察者也只需注册一次,就能长期接收更新。
明洞日记
3 天前
java
·
设计模式
·
组合模式
【设计模式手册010】组合模式 - 树形结构的优雅处理
本文是「设计模式手册」系列第010篇,我们将深入探讨组合模式,这种模式用树形结构来表示"部分-整体"的层次结构,让客户端可以统一地处理单个对象和对象组合。