Source Code
文章平均质量分 87
Source Code related.
d3y1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式-源码实例大全之23种设计模式全面解析
本文全面解析23种经典设计模式在主流框架和中间件中的应用,包括Spring、Kubernetes、Nginx等。设计模式分为创建型(如单例、工厂方法)、结构型(如适配器、装饰器)和行为型(如观察者、策略)三大类,每种模式在不同框架中都有典型实现。通过源码分析发现,设计模式能提供标准化解决方案、提高代码质量,并常以组合方式应用。框架设计哲学各异,如Spring强调松耦合,Kubernetes注重声明式API。实际应用中,多种模式常协同工作,如Spring Security结合组合模式、责任链模式等。原创 2025-10-07 11:47:21 · 835 阅读 · 0 评论 -
设计模式-23访问者模式 (Visitor Pattern) 源码实例大全
访问者模式是一种行为设计模式,允许在不修改对象结构的情况下定义新操作。本文通过Java标准库中的FileVisitor接口展示了模式实现,包括文件搜索访问者(FileSearchVisitor)和文件统计访问者(FileStatisticsVisitor)两个具体实现类。前者用于搜索匹配特定模式的文件,后者则统计文件数量、目录数量和文件大小等指标。该模式通过分离算法与对象结构,实现了对文件系统的高效遍历和灵活操作,同时保持代码的可扩展性。原创 2025-10-07 09:34:45 · 594 阅读 · 0 评论 -
LangChain源码-05模型链(Chains)
LangChain模型链架构分析总结了其核心组件和工作流程。模型链作为工作流引擎,通过BaseChain抽象基类派生出多种链类型(LLMChain、SequentialChain等),实现从输入到输出的有序处理。架构包含初始化、组件编排、顺序执行和结果聚合等环节,支持参数验证、状态传递等核心功能。系统集成了提示模板、LLM模型、输出解析器等组件,并通过缓存和存储层优化性能。高级链类型如路由链和并行链可实现复杂逻辑处理,形成完整的AI应用开发框架。原创 2025-09-18 12:45:53 · 897 阅读 · 0 评论 -
LangChain源码-02LLM模型调用
文章摘要: 本文分析了LangChain框架中LLM模型调用的源码架构和核心组件。架构采用分层设计,包含用户请求处理、输入验证、模型选择、API调用、响应处理和结果返回等环节。核心组件基于BaseLanguageModel抽象类,派生出BaseLLM和BaseChatModel两个基类,分别对应普通LLM模型和聊天模型。系统支持多种模型提供商(如OpenAI、HuggingFace等),并实现了客户端缓存、重试机制、消息格式转换等功能。特别是聊天模型分支专门处理不同类型消息(Human/AI/System等原创 2025-09-18 12:34:33 · 938 阅读 · 0 评论 -
LangChain源码-04格式化输出
Langchain格式化输出系统解析 LangChain的格式化输出系统是一个多层次的结果处理架构,它将LLM原始文本转换为结构化数据。系统包含: 核心处理流程:从文本输入到结构化输出的完整转换链 解析器类型:包括字符串、JSON、Pydantic等多种解析器 高级功能层:提供数据清洗、验证和类型转换等能力 组合优化层:支持解析器的组合使用和性能优化 监控层:包含缓存、性能指标和错误处理机制 系统采用模块化设计,各组件通过标准接口交互,支持灵活扩展和定制化处理。原创 2025-09-18 12:43:05 · 690 阅读 · 0 评论 -
LangChain源码-08基于文档的问答系统案例
本文介绍了一个基于LangChain的企业级文档问答系统架构设计。系统采用分层架构,包含用户界面层(React/Vue)、应用服务层(FastAPI/Django)、LangChain核心层(文档处理、RAG检索、问答生成等)、数据存储层(Chroma/Pinecone向量库、PostgreSQL关系库)和AI模型层(OpenAI、HuggingFace等)。核心技术栈包括Python 3.10+、React 18、PostgreSQL、Redis等,支持多格式文档处理、智能解析、高级RAG检索和多轮对话等原创 2025-09-18 12:54:47 · 675 阅读 · 0 评论 -
LangChain源码-03提示模板
LangChain提示模板架构分析 LangChain的提示模板系统是一个多层级的语言处理引擎,负责将结构化数据转换为LLM可理解的指令。其核心架构包含: 输入层:接收用户输入的模板、变量和上下文 解析层:通过模板解析器、变量提取器和上下文构建器处理原始输入 模板处理层:支持多种模板类型(字符串、聊天、FewShot等)和渲染引擎(f-string/Jinja2) 输出层:包含多种输出解析器和缓存优化机制 监控层:实时追踪渲染性能、内存使用和错误率 系统通过模块化设计实现了从输入到LLM调用的完整流程,支持原创 2025-09-18 12:38:32 · 909 阅读 · 0 评论 -
LangChain源码-06记忆存储(Memory)
本文分析了LangChain记忆存储(Memory)系统的架构设计与核心组件。记忆系统作为AI的"智能笔记本",能够存储对话历史、用户偏好等信息,实现个性化和连贯的交互体验。系统采用分层架构,包含记忆存储层(聊天历史、向量存储等)和记忆处理层(上下文构建、语义搜索等),通过短期记忆和长期记忆的协同工作实现信息管理。核心组件包括BaseMemory抽象基类及其具体实现类(如ConversationBufferMemory缓冲记忆),以及多种消息历史存储后端(内存、文件、数据库等)。系统还支原创 2025-09-18 12:48:30 · 1035 阅读 · 0 评论 -
LangChain源码-01准备工作
本文介绍了LangChain源码学习的准备工作和方法论,主要包括三个方面: 源码学习价值:从使用者转变为理解者和创新者,提升调试能力、性能优化和创新扩展能力,培养架构思维和代码品味。 学习环境搭建: 开发环境配置(Python 3.8-3.11、PyCharm/VSCode等IDE) 源码获取与项目结构分析(核心模块如agents、chains、llms等) 调试环境配置(断点调试、变量观察等技巧) 源码阅读方法论: 分层阅读策略(接口层→实现层→优化层→架构层) 设计模式基础(工厂模式、策略模式等在Lan原创 2025-09-18 00:20:32 · 189 阅读 · 0 评论 -
IO-12多路复用I/O算法源码
本文深入分析了多路复用I/O的核心算法实现,重点探讨了select、poll和epoll等系统调用的底层机制。文章从内核数据结构(如位图管理、红黑树)和事件处理算法(注册、等待、通知、分发)两个维度展开,并通过源码级示例详细解析了select系统调用的实现过程,包括文件描述符集合管理、轮询等待队列初始化、文件状态检查等关键步骤。分析揭示了多路复用I/O在高效处理大量并发连接时的核心算法设计思路和性能优化策略。原创 2025-09-26 14:39:42 · 971 阅读 · 0 评论 -
Netty-26源码剖析之堆外内存和内存池
Netty 通过精细的内存管理机制实现高性能网络通信,核心在于堆外内存(Direct Memory)和内存池的优化支持。源码分析显示,DirectByteBuf 类负责堆外内存缓冲区的实现,利用ByteBuffer.allocateDirect()分配内存,并通过PlatformDependent类进行底层操作。系统提供内存地址获取、零拷贝传输等特性,同时通过计数器严格控制直接内存用量,防止OOM。内存架构分为堆内存/堆外内存、池化/非池化两种维度,支持不同场景需求,其中池化内存通过PoolArena等组件原创 2025-09-29 10:17:27 · 1007 阅读 · 0 评论 -
IO-16信号驱动I/O算法源码
本文深入探讨信号驱动I/O的核心算法实现,包括信号安装、文件描述符配置和异步通知机制。通过源码分析展示了信号处理函数安装、信号掩码管理、文件描述符异步模式设置等关键技术实现。重点解析了信号驱动I/O的工作流程,从信号安装到事件触发处理的完整过程,并提供了详细的代码示例来说明如何实现信号驱动I/O的高效配置和管理。原创 2025-09-27 09:54:34 · 975 阅读 · 0 评论 -
MQ-06RocketMQ之算法源码
RocketMQ核心路由机制源码解析 Apache RocketMQ通过NameServer实现了高效的消息路由机制,其核心在于RouteInfoManager类。该组件采用读写锁保证并发安全,维护5个核心数据结构: topicQueueTable - 记录Topic与Queue的映射 brokerAddrTable - 存储Broker基础信息 clusterAddrTable - 管理集群拓扑 brokerLiveTable - 跟踪Broker存活状态 filterServerTable - 保存过滤原创 2025-09-24 11:46:56 · 909 阅读 · 0 评论 -
Netty-27源码剖析之完整生命周期(从启动到关闭)
本文深入剖析Netty框架的完整生命周期,从启动到关闭各阶段的核心源码实现。文章首先通过流程图全景展示Netty生命周期的六个关键阶段:启动、连接、数据传输、断开和关闭。每个阶段都包含详细的源码分析,如启动阶段详细解析了EventLoopGroup的创建过程和ServerBootstrap的配置机制,通过多级构造函数链展示了线程模型初始化过程。源码注释详细解释了每个关键步骤的作用,包括异常处理、资源清理等细节,为开发者提供了一份完整的Netty内部工作机制指南。原创 2025-09-29 10:23:28 · 617 阅读 · 0 评论 -
Netty-22源码剖析之三种Reactor模式
本文深入剖析了Netty对三种Reactor模式的支持实现。单Reactor单线程模式通过单个EventLoop处理所有I/O和业务逻辑,适合低并发场景;单Reactor多线程模式在EventLoop基础上引入线程池处理耗时任务;主从Reactor多线程模式采用Boss-Worker架构,由主EventLoop处理连接、Worker EventLoop组处理I/O。源码分析展示了Netty如何通过NioEventLoop、NioEventLoopGroup等核心组件实现这些模式,并详细解析了单线程模式下的完原创 2025-09-28 10:04:32 · 1003 阅读 · 0 评论 -
Redis-04核心算法源码
Redis 核心算法解析:本文详细介绍了 Redis 的两种核心算法实现。1)SDS(简单动态字符串)算法:采用动态头部结构,根据字符串长度自动选择最优存储方式,支持高效的空间预分配策略(小于1MB时双倍扩容,大于1MB时固定增加1MB);2)字典(哈希表)算法:采用双哈希表结构实现渐进式rehash,在操作时分步迁移数据,避免一次性迁移导致的性能问题。两种算法均通过精心设计的数据结构和内存管理策略,实现了高性能和低延迟的关键特性。原创 2025-09-25 20:31:07 · 895 阅读 · 0 评论 -
Netty-25源码剖析之KeepAlive与Idle监测
Netty 提供了完善的网络连接状态监测机制,主要包括 TCP 层和应用层两种实现方式。在 TCP 层面,通过 ChannelOption.SO_KEEPALIVE 选项启用系统级保活机制,由操作系统定期检测连接状态。应用层则通过自定义 KeepAliveHandler 实现更灵活的心跳检测,包括定时发送心跳包、超时判断等功能。两种机制可以结合使用,通过 IdleStateHandler 监听读写空闲事件,配合 KeepAlive 机制共同维护连接健康状态。Netty 的监测架构设计灵活,既支持系统级 TC原创 2025-09-29 10:14:31 · 1023 阅读 · 0 评论 -
Disruptor-04算法源码
Disruptor 核心算法详解:采用 CAS 无锁并发控制,通过 volatile 保证内存可见性,利用缓存行填充避免伪共享。关键实现包括多生产者序列器的 CAS 重试机制、Sequence 类的 volatile 读写优化,以及环形缓冲区的索引计算。通过内存屏障和 64 字节填充确保变量独占缓存行,显著提升并发性能。原创 2025-10-01 11:08:24 · 922 阅读 · 0 评论 -
LangChain源码-07代理(Agent)
LangChain代理架构分析摘要 LangChain的代理系统提供强大功能,使LLM能自主调用工具完成任务。其架构包含: 核心层:BaseAgent抽象基类,定义统一接口 代理实现层:分单动作代理(ZeroShot/Conversational/StructuredChat)和多动作代理(PlanAndExecute) 执行层:AgentExecutor协调执行流程,支持流式输出 工具集成:包含Tool基类、工具选择器和执行器 工作流程为:用户输入→问题分析→工具选择→执行→结果分析→循环决策。系统通过上原创 2025-09-18 12:58:50 · 768 阅读 · 0 评论 -
Netty-23源码剖析之TCP粘包与半包处理
Netty TCP粘包半包处理源码剖析 Netty通过多种解码器解决TCP流式传输导致的粘包半包问题,核心机制包括: 定长解码器:FixedLengthFrameDecoder按固定长度切分数据 分隔符解码器:DelimiterBasedFrameDecoder基于特殊字符分割消息 长度字段解码器:LengthFieldBasedFrameDecoder解析消息头中的长度字段 行解码器:LineBasedFrameDecoder按换行符分割 所有解码器均继承ByteToMessageDecoder,通过累积原创 2025-09-28 10:06:31 · 799 阅读 · 0 评论 -
IO-04同步阻塞I/O算法源码
本文深入分析了同步阻塞I/O的核心算法实现,涵盖系统调用、VFS层和具体文件系统的源码细节。重点剖析了read()和write()系统调用的完整流程,包括权限检查、缓冲区管理、页缓存机制等关键环节。通过代码示例展示了从用户空间调用到底层实现的完整链路,包括ext4文件系统的具体实现和通用文件操作的封装逻辑。文章还详细解析了页缓存的读取/写入机制,包括缓冲区管理、块映射和I/O提交等核心操作,为理解阻塞I/O的工作原理提供了深入的源码级视角。原创 2025-09-26 14:09:43 · 741 阅读 · 0 评论 -
IO-20异步I/O算法源码
本文深入探讨了异步I/O的核心算法实现,分析了Linux AIO、Windows IOCP等平台的异步I/O机制。文章通过源码级解析,详细介绍了异步I/O的工作流程,包括请求提交、异步执行和完成通知三大核心算法模块。重点剖析了Linux AIO的上下文管理算法和请求提交算法,展示了kiocb数据结构、io_submit系统调用实现以及请求处理流程。文中还提供了完整的架构示意图和关键代码片段,揭示了异步I/O在请求队列管理、DMA传输、零拷贝优化等方面的技术实现细节,为深入理解高性能I/O系统提供了技术参考。原创 2025-09-27 10:24:26 · 916 阅读 · 0 评论 -
Netty-24源码剖析之常用二次编解码
本文深入剖析了Netty框架中常用二次编解码器的源码实现,重点分析了Protobuf编解码器的核心机制。Netty编解码架构分为一次编解码(字节流↔消息对象)和二次编解码(消息对象↔业务对象),通过MessageToMessageDecoder/Encoder接口实现。ProtobufDecoder支持Protobuf 2.x和3.x版本,根据运行时检查选择解析方式,并优化处理ByteBuf内部数组;ProtobufEncoder则直接写入ByteBuf避免数据拷贝;ProtobufVarint32Fram原创 2025-09-29 10:08:34 · 984 阅读 · 0 评论 -
IO-08同步非阻塞I/O算法源码
立即返回机制:避免进程阻塞,提高系统响应性轮询优化:通过智能算法减少CPU开销错误分类处理:针对不同的错误情况采取不同的处理策略状态管理:跟踪文件描述符的状态变化性能优化:自适应算法和批量操作提高效率理解这些算法实现对于掌握高性能网络编程、构建事件驱动应用以及优化系统性能都具有重要意义。非阻塞 I/O 作为现代异步编程的基础,其算法设计思想直接影响着更高级 I/O 模型的实现。原创 2025-09-26 14:23:07 · 736 阅读 · 0 评论 -
MQ-03RabbitMQ之算法源码
本文展示了RabbitMQ中两种核心交换器(Direct和Topic)的路由算法实现,以及队列索引机制的源码实现。Direct交换器通过精确匹配路由键和绑定键实现消息路由,Topic交换器则支持通配符模式匹配。队列索引模块采用日志文件和段文件相结合的方式,确保消息持久化和投递状态的可靠记录。所有实现均采用Erlang语言编写,展示了RabbitMQ高效消息路由和持久化的核心机制。原创 2025-09-24 11:30:04 · 430 阅读 · 0 评论 -
LLM-32Transformer源码学习
Transformer源码学习摘要 学习Transformer源码是深入理解其工作原理的关键。建议从Hugging Face Transformers或PyTorch官方实现入手,采用从整体到局部、理论到实践的阅读方法。源码分析应重点关注核心组件如多头注意力机制,其实现涉及QKV矩阵计算、注意力权重计算和输出投影等关键步骤。通过拆解源码,可以掌握Transformer的工程实现细节、优化技巧和扩展能力。原创 2025-09-20 10:12:21 · 383 阅读 · 0 评论 -
Netty-21源码剖析之三种I/O模式
Netty I/O 模式源码剖析 Netty 框架支持三种 I/O 模式:阻塞 I/O (BIO)、非阻塞 I/O (NIO) 和异步 I/O (AIO)。本文摘要重点分析 BIO 模式的实现细节: OIO 架构: 继承体系:AbstractChannel → AbstractOioChannel → OioSocketChannel/OioServerSocketChannel 配置类:DefaultOioChannelConfig 及其子类 线程模型采用阻塞读/写线程和连接接受线程 核心实现: OioS原创 2025-09-28 10:02:33 · 444 阅读 · 0 评论 -
MQ-09Kafka之算法源码
Kafka分区分配机制解析:生产者使用DefaultPartitioner实现基于Murmur2哈希的键控分区或轮询粘性分区策略,消费者则通过RangeAssignor进行范围分配。生产者源码展示了键值哈希取模和轮询两种分区逻辑,消费者源码演示了按主题对消费者排序后平均分配分区的过程。两种分配策略都设计为高效且可扩展,确保消息均匀分布。原创 2025-09-24 11:53:02 · 830 阅读 · 0 评论 -
设计模式-03_2抽象工厂模式 (Abstract Factory Pattern) 源码实例大全
本文介绍了TensorFlow中抽象工厂模式的应用实例,包括模型工厂和数据集工厂两种实现。模型工厂通过抽象基类ModelFactory定义了创建模型、优化器、损失函数和评估指标的接口,并提供了CNN、RNN和Transformer三种具体实现。数据集工厂DatasetFactory则抽象了数据集创建的统一接口。这种模式能够创建相关对象族而不指定具体类,提高了代码的可扩展性和可维护性,特别适合深度学习框架中需要灵活组合不同模型组件和数据管道的场景。原创 2025-10-05 20:23:03 · 993 阅读 · 0 评论 -
设计模式-05_2原型模式 (Prototype Pattern) 源码实例大全
摘要:Apache Kafka中的ProducerRecord类展示了原型模式的实现,通过clone()方法实现对象的复制。该类提供了三种克隆方式:手动深拷贝、序列化深拷贝和JSON深拷贝,确保包含headers在内的所有属性都被完整复制。同时结合建造者模式,通过ProducerRecordBuilder实现原型对象的修改和构建。Header接口也实现了Cloneable支持深拷贝,体现了原型模式在分布式消息系统中的实际应用。原创 2025-10-05 20:40:16 · 624 阅读 · 0 评论 -
设计模式-02工厂方法模式(Factory Method Pattern)源码实例大全
工厂方法模式通过定义创建对象的接口,将实例化过程延迟到子类实现。Spring框架的BeanFactory是典型应用,其核心接口定义多种获取Bean的方法,而AbstractBeanFactory抽象类实现具体创建逻辑,处理单例/原型作用域、依赖检查等场景,通过doGetBean方法完成对象创建过程。该模式实现了对象创建与使用的解耦,增强了系统扩展性。原创 2025-10-05 20:16:17 · 1169 阅读 · 0 评论 -
设计模式-04_1建造者模式 (Builder Pattern) 源码实例大全
建造者模式(Builder Pattern)将复杂对象的构建与其表示分离,使同一构建过程能创建不同表示。Spring框架中的BeanDefinitionBuilder是典型实现,通过链式方法调用逐步配置Bean定义(如设置工厂方法、构造参数、属性值等),最终生成完整的BeanDefinition对象。这种模式简化了复杂对象的创建过程,提高了代码可读性和灵活性。原创 2025-10-05 20:28:32 · 270 阅读 · 0 评论 -
设计模式-06适配器模式 (Adapter Pattern) 源码实例大全
适配器模式(Adapter Pattern)是一种结构型设计模式,用于将不兼容的接口转换为可兼容的接口。Spring框架中的HandlerAdapter体系是典型应用,通过不同适配器(ServletHandlerAdapter、RequestMappingHandlerAdapter等)将各种处理器(Controller、Servlet等)统一适配为HandlerAdapter接口,使DispatcherServlet能够以统一方式调用不同处理器。这种模式增强了框架的扩展性,支持新增处理器类型而不需修改核心原创 2025-10-05 20:42:05 · 844 阅读 · 0 评论 -
设计模式-07桥接模式 (Bridge Pattern) 源码实例大全
桥接模式是一种结构型设计模式,将抽象与实现解耦,使二者可以独立变化。本文以Spring JDBC为例展示了桥接模式的应用:JdbcAccessor作为抽象部分,定义了数据库访问的通用接口;JdbcTemplate作为具体实现,通过DataSource接口桥接不同的数据库驱动实现。这种设计使得数据库访问逻辑与具体数据库实现分离,可以灵活切换不同的数据库驱动而不影响业务代码。原创 2025-10-05 20:44:33 · 810 阅读 · 0 评论 -
设计模式-03_1抽象工厂模式 (Abstract Factory Pattern) 源码实例大全
摘要 抽象工厂模式提供创建相关对象族的接口,无需指定具体类。以Spring框架为例,ApplicationContext作为抽象工厂接口,AbstractApplicationContext实现核心逻辑,包含抽象方法refreshBeanFactory()等。具体工厂如ClassPathXmlApplicationContext继承并实现这些方法,支持XML配置方式创建Bean。该模式通过抽象与具体工厂的层级设计,实现了对象创建的灵活扩展。原创 2025-10-05 20:21:34 · 484 阅读 · 0 评论 -
设计模式-04_2建造者模式 (Builder Pattern) 源码实例大全
本文介绍了建造者模式(Builder Pattern)在PostgreSQL查询构建中的实现。该模式通过将复杂对象的构建过程分离,使得同样的构建过程可以创建不同的表示。文中提供了一个Python实现的PostgreSQL查询建造者类(PostgreSQLQueryBuilder),支持SELECT、INSERT、UPDATE和DELETE等基本SQL操作,并包含丰富的条件构建方法(如where、where_in、where_between等)。该类通过链式调用实现查询的渐进式构建,同时使用参数化查询来防止S原创 2025-10-05 20:35:28 · 793 阅读 · 0 评论 -
设计模式-01单例模式(Singleton Pattern)源码实例大全
单例模式是一种确保类仅有一个实例并提供全局访问点的设计模式。本文展示了Spring和Kubernetes等框架中的单例实现:Spring的DefaultSingletonBeanRegistry使用ConcurrentHashMap管理单例Bean缓存池,并通过同步块确保线程安全;Kubernetes的RESTClient则利用Go语言的sync.Once实现线程安全的单例初始化。两种实现都体现了单例模式的核心思想,同时针对各自场景进行了优化,如Spring的多级缓存机制和Kubernetes的延迟初始化。原创 2025-10-05 20:11:38 · 633 阅读 · 0 评论 -
设计模式-05_1原型模式 (Prototype Pattern) 源码实例大全
摘要:原型模式通过复制现有对象创建新对象,Spring框架的BeanDefinition是典型实现。Spring的AbstractBeanDefinition抽象类实现了Cloneable接口,提供cloneBeanDefinition()方法进行深拷贝,包括构造参数、属性值等核心数据的复制。RootBeanDefinition等具体实现继承此功能,支持原型作用域的Bean创建。该模式避免了复杂的对象初始化过程,提高了对象创建效率。原创 2025-10-05 20:38:29 · 790 阅读 · 0 评论 -
设计模式-11_1享元模式 (Flyweight Pattern) 源码实例大全
享元模式通过共享相似对象来减少内存消耗,提升系统性能。Spring框架中典型应用包括:1) 字符串池(String.intern())实现字符串共享;2) Integer缓存池(-128~127)复用常用数字对象;3) Bean元数据(BeanMetadataAttribute)共享配置信息。这些实现通过内部缓存机制,在频繁创建相似对象时显著降低资源开销,如字符串比较时直接使用==判断引用而非内容,Integer.valueOf()优先返回缓存实例。该模式特别适用于存在大量细粒度重复对象的场景。原创 2025-10-06 00:07:28 · 316 阅读 · 0 评论 -
设计模式-15命令模式 (Command Pattern) 源码实例大全
命令模式是一种行为设计模式,它将请求封装为对象,使客户端可以参数化不同请求,支持请求排队、日志记录和撤销操作。本文展示了Java标准库中的实现实例,包括文件操作和数据库操作命令。通过Runnable接口作为命令接口,具体命令类实现执行逻辑,并由CommandExecutor作为调用者管理命令执行。这种模式解耦了请求发送者和接收者,提供了灵活的命令管理和扩展能力。原创 2025-10-06 11:56:50 · 665 阅读 · 0 评论
分享