- 博客(40)
- 收藏
- 关注
原创 【】ASP.NET MVC中你必须知道的个扩展点
DataGrip 除了从脚本文件、CSV、TSV 或具有分隔符分隔值的文本文件导入之外,你还可以使用你喜欢的格式导出数据,包括 CSV、JSON、HTML、Markdown、Excel 等,你甚至可以自行创建格式!商业版的所有功能均可供使用,包括 AI 赋能的代码补全、智能查询控制台、类似 Excel 的数据编辑器、Git 集成,以及对多种数据库的支持。DataGrip 可根据自己的偏好,通过浅色和深色主题、全彩自定义、可定制的按键映射和语言插件调整工具的外观和配置。DataGrip 支持的数据库。
2026-03-09 13:11:50
208
原创 程序员的光荣与梦想——论侠客梦的延续与幻灭
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2026-03-09 13:06:48
360
原创 C#语法糖(Csharp Syntactic sugar)大汇总
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-03-09 13:01:51
367
原创 你可能不知道的个JavaScript小技巧
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2026-03-08 11:15:59
333
原创 我对DDD的认知(一)
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-03-08 11:10:32
347
原创 作为Web开发人员,我为什么喜欢Google Chrome浏览器
DataGrip 除了从脚本文件、CSV、TSV 或具有分隔符分隔值的文本文件导入之外,你还可以使用你喜欢的格式导出数据,包括 CSV、JSON、HTML、Markdown、Excel 等,你甚至可以自行创建格式!商业版的所有功能均可供使用,包括 AI 赋能的代码补全、智能查询控制台、类似 Excel 的数据编辑器、Git 集成,以及对多种数据库的支持。DataGrip 可根据自己的偏好,通过浅色和深色主题、全彩自定义、可定制的按键映射和语言插件调整工具的外观和配置。DataGrip 支持的数据库。
2026-03-07 12:57:38
213
原创 C# 温故而知新:Stream篇(二)
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2026-03-07 12:51:59
335
原创 从jQuery谈库与框架的设计之优劣
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-03-07 12:46:28
374
原创 SQL Server 致程序员(容易忽略的错误)
DataGrip 除了从脚本文件、CSV、TSV 或具有分隔符分隔值的文本文件导入之外,你还可以使用你喜欢的格式导出数据,包括 CSV、JSON、HTML、Markdown、Excel 等,你甚至可以自行创建格式!商业版的所有功能均可供使用,包括 AI 赋能的代码补全、智能查询控制台、类似 Excel 的数据编辑器、Git 集成,以及对多种数据库的支持。DataGrip 可根据自己的偏好,通过浅色和深色主题、全彩自定义、可定制的按键映射和语言插件调整工具的外观和配置。DataGrip 支持的数据库。
2026-03-06 12:55:39
160
原创 一个由进程内存布局异常引起的问题
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2026-03-06 12:50:38
302
原创 面试官:一个 SpringBoot 项目能处理多少请求?(小心有坑)
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-03-06 12:45:16
229
原创 一款实用的 Visual Studio 发布部署插件,助力提高部署效率!
DataGrip 除了从脚本文件、CSV、TSV 或具有分隔符分隔值的文本文件导入之外,你还可以使用你喜欢的格式导出数据,包括 CSV、JSON、HTML、Markdown、Excel 等,你甚至可以自行创建格式!商业版的所有功能均可供使用,包括 AI 赋能的代码补全、智能查询控制台、类似 Excel 的数据编辑器、Git 集成,以及对多种数据库的支持。DataGrip 可根据自己的偏好,通过浅色和深色主题、全彩自定义、可定制的按键映射和语言插件调整工具的外观和配置。DataGrip 支持的数据库。
2026-03-05 12:13:09
44
原创 Go动态感知资源变更的技术实践,你指定用过!
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2026-03-05 12:07:44
232
原创 istBox,以便进行数据的同步演示,真实的场景中,TListBox应该是类似于上一课的TCombobox,是一个可以多选的复选框。 ...
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-03-05 12:01:17
357
原创 (已完结)仿神秘海域/美末环境交互的程序化动画学习
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2026-03-04 12:03:01
347
原创 深入解析权重轮询算法:非平滑与平滑实现的原理与数学依据
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-03-04 11:55:24
332
原创 唯一性 缺点:占用额外存储空间、降低数据写入速度(因为需要维护索引) 、分类 . 按功能逻辑划分 索引类型 说明 适用场景 主键索引 ...
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2026-03-03 21:55:38
294
原创 我做了个 AI 文档阅读神器,免费开源!
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-03-03 21:45:49
184
原创 ruoyi-vue列表显示关联
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2026-03-02 12:45:34
503
原创 小结-【LGR--Div.】洛谷 月月赛 II & CZOI Round
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-03-02 12:38:07
567
原创 独立开发经验谈:用视频快速讲解你的产品核心竞争力
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2026-03-01 11:08:53
543
原创 【光照】Unity[PBR]环境光中的[镜面IBL]
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-03-01 11:02:52
471
原创 RFSOC学习记录(四)MTS时序分析
在多年的研发生涯里,对调参这个事深恶痛绝,为什么辛辛苦苦架构出来的模型,一训练就崩,训练收敛慢到龟速,这严重影响了开发进度,并且增加了很多不可抗力的消耗。换句话说,朴素SGD是一个没有应用任何先验补充的野蛮人,较于Adam的平滑学习而言,它就像一只无头苍蝇,到处乱撞,也不知道该撞多少次才能收敛至最小值。我相信有很多业内同行,都有这种痛,训练了很久,效果依旧很差,泛化能力也不行,然后就开始苦恼,为什么自己没有足够的钱,足够的算力。引入动量缓冲m,也就是一阶矩,指数加权平滑梯度,它积累了历史梯度的方向趋势。
2026-02-28 19:19:26
487
原创 域登录态分享(类sso)
但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。
2026-02-28 19:16:15
564
原创 0.9B PaddleOCR-VL 登顶 SOTA!GPUStack 高效推理部署实战指南
PaddleOCR-VL 的核心组件是 PaddleOCR-VL-0.9B,它创新性地将 NaViT 风格的动态分辨率视觉编码器与轻量级 ERNIE-4.5-0.3B 语言模型相结合,兼具结构理解力与资源效率。本文将详细演示如何通过 GPUStack 平台,在本地环境中完成 PaddleOCR-VL 模型的推理部署,并展示其在真实文档解析任务中的表现。由于 PaddleOCR-VL-0.9B 模型位于下载的模型目录的 PaddleOCR-VL-0.9B 子目录下,需要修改为指向该目录进行部署。
2025-12-21 14:28:26
403
原创 LangChain4j 比 SolonAI 强在哪?弱在哪?
除了 LangChain4j 的使用复杂之外,源代码量很大,LangChain4j 的文档也不全,要么是没有关键实现代码案例、要么是干脆文档写的都是错的,LangChain4j 的坑比较多,最后只能通过看最新的源码才能解决和使用相关功能,所以 LangChain4j 学习和使用成本是非常高的。如果功能复杂,且定制型要求比较多,可以使用功能和灵活度更高的 LangChain4j。总体来说,LangChain4j 提供的功能更多,尤其是 RAG 方面,提供了更丰富的适配。// 5.调用 MCP Server。
2025-12-21 14:27:42
279
原创 麒麟系统离线安装docker和docker-compose
我使用的docker版本是:docker-20.10.7.tgz,docker-compose版本是v2.17.2,我整理的下载资源:通过网盘分享的文件:docker_20.10.17安装包.rar。// 将 docker-compose 文件复制到 /usr/local/bin/ 目录下,并重命名为 docker-compose。docker exec -it <容器ID或名> <命令> 在正在运行的容器中执行命令。docker-compose logs -f <服务名> 实时跟踪特定服务的日志。
2025-12-17 19:06:24
1012
原创 一只菜鸟学机器学习的日记:入门分布偏移
[\begin{align} L_{\text{原始}} &= \frac{1}{10} \sum_{b=1}^{10} \ell_{\text{CE}}(y_b, \hat{y}_b) \\ L_{\text{加权}} &= \frac{1}{10} \left[ 0.1667 \cdot \sum_{b=1}^{3} \ell_{\text{CE}} + 1.3571 \cdot \sum_{b=4}^{10} \ell_{\text{CE}} \right] \end{align} \]
2025-12-17 19:05:27
369
原创 【AI编程】5分钟用AI复刻有BOSS战的《坦克大战》
优化小兵刷新的逻辑,现在是按时间刷的吗,我需要的效果是:游戏场景里最多存在3个敌方小兵,每击杀1个,就刷新出一个,每关最多9个小兵,可以在游戏右上角位置显示剩余小兵数量,然后最后出来的那个敌方坦克属于BOSS,体型要大,血量要厚,需要攻击的次数随关卡数而增加。看到上面已经非常完美地复刻了《坦克大战》的游戏,但是考虑到玩家现在都比较懒,能不能做个功能,让AI帮我们玩呢,我们直接看AI对战AI岂不是也是一种乐趣吗,于是让Trae给我加上AI脚本的功能。首先打开Trae的solo模式,在左上角的位置。
2025-12-15 12:40:48
402
原创 咱们聊聊Spring循环依赖那点事儿:从“死锁”到“三级缓存”的奇妙之旅
每个机器人得按流程造:先搭骨架(实例化,调构造函数)→ 装零件(填属性,比如依赖其他机器人)→ 测试出厂(初始化,调@PostConstruct等方法)→ 合格了进“成品仓库”(一级缓存),随时能领用。如果用构造器注入(比如A的构造函数必须传B,B的构造函数必须传A),那问题就大了:造A得先有B,造B得先有A——俩机器人连骨架都没搭起来(实例化都没完成),哪来的“预订券”进三级缓存?简单说,就是给刚搭好骨架的机器人发张“预订券”,谁急着用,先领个“毛坯版”顶上,等正式零件造好再替换。// 三级缓存存工厂。
2025-12-15 12:40:02
316
原创 使用 Java、Spring Boot 和 Spring AI 开发符合 A2A 标准的 AI 智能体
我为 Telex 开发了一个 AI 智能体,该智能体接收一个正则表达式模式,并就该模式所匹配的字符串类型提供易于理解的解释。开发此智能体的灵感源于我在此之前开发的一个 API(您可以在此处查看该项目),在该 API 中我必须使用正则表达式进行一些自然语言处理。在我的 application.properties 文件中,我设置了 Spring AI 以使用我的 API 凭证(我的 API 密钥)。我的智能体的作用是获取一个正则表达式字符串,然后使用预定义的提示词将其发送到 OpenAI 的 API。
2025-12-14 10:29:48
708
原创 AI 辅助编码:让产品验证效率提升 55% 的实战技巧
未来的竞争优势,不会属于“编码最快的团队”,而是属于“将 AI 深度融入整个验证体系”的团队——包括测试、安全、反馈闭环等各个环节,同时能驾驭“速度带来的复杂度”。现在已有专门针对漏洞检测训练的 AI 安全工具,相比人工审查,这类工具能将漏洞检测时间缩短 92%——用 AI 解决方案应对 AI 带来的问题,是最高效的方式。而仅接受 23%建议的开发者,几乎看不到效果。那些适应良好的资深开发者,都会主动拥抱“统筹协调者”的角色:提升提示词工程能力,学会撰写清晰的技术需求,培养识别 AI 代码潜在问题的直觉。
2025-12-14 10:29:01
443
原创 DW1000芯片帧组成解析
同步头的组成为若干个符号组成(前导码符号数 + 帧起始定界符符号数),而一个符号的传输时间与数据速率和 PRF(脉冲重复频率)配置有关,DW1000的data sheet会给不同数据速率和 PRF(脉冲重复频率)下的符号时长信息(见下文4.1)。PSDU(包含 MPDU+FCS)采用BPM-BPSK 调制方式,且数据部分(不含前导码、SFD、PHR)的符号传输遵循 “1 个符号承载 1 位数据” 的规则,则PSDU发送符号个数 = (数据字节数 + 2) × 8;其核心参数如下表所示。
2025-12-13 17:37:15
499
原创 并发控制机制大揭秘:解析SQL Server与PostgreSQL的并发控制策略
在性能方面,SQL Server在读取密集型工作负载中如果不把默认的悲观并发修改为乐观并发可能会遭遇锁竞争问题,而PostgreSQL的MVCC在这种场景中表现优越,因为它确保读取操作永远不会阻塞写入操作。然而,PostgreSQL的方法需要更多的资源来管理数据的多个版本,并且由于清理过程的开销,在写密集型工作负载中可能会带来挑战。本文将探讨这两种数据库系统使用的并发控制方法,重点介绍SQL Server中的悲观并发和乐观并发,以及PostgreSQL中的多版本并发控制(MVCC)。
2025-12-13 17:36:12
312
原创 SpringBoot中这10个神仙功能,惊艳到我了!
深度解析:Spring Cache的价值在于它提供了统一的缓存抽象层,让我们可以在不同的缓存实现(Redis、Caffeine、Ehcache等)之间无缝切换,同时保持业务代码的纯净性。深度解析:Spring Boot CLI的核心价值在于它极大降低了Spring应用的入门门槛,通过Groovy脚本和自动依赖管理,让开发者可以专注于业务逻辑而不是配置。深度解析:DevTools通过类加载器技巧实现了快速应用重启,同时提供了LiveReload、全局配置、开发时属性覆盖等功能,将开发效率提升到了新的高度。
2025-12-12 10:49:11
243
原创 Java并发机制的底层实现原理:从CPU到JVM的全面解析
虚假共享问题:如果两个不相关的变量在同一个缓存行中,一个CPU修改variableA时,会使其他CPU中整个缓存行失效,包括variableB,即使variableB没有被修改。同样,只知道使用并发工具而不了解原理,在出现性能问题或诡异的并发bug时,你将束手无策。System.out.println("原子计数器结果: " + example.atomicI.get());通俗比喻:Mark Word就像你的工作证,可以显示不同的状态:"空闲"、"张三专属"、"正在登记使用"、"会议室占用中"。
2025-12-12 10:48:05
494
原创 React Hooks闭包陷阱
闭包陷阱:根据上面两点,React Hooks 的闭包陷阱产生过程应当是这样的,React 在渲染开始前创建了新的状态包(作用域),而我们写代码的时候无意中创建了一个闭包,持有了 React 的当前状态,再下次渲染开始时,React 重新创建了状态包,但是我们在一开始创建的闭包持有的依旧是前一次 React 创建的状态,是旧的,这就是产生闭包陷阱的根源。闭包的本质:函数能够访问其定义时所在的词法作用域,即使函数在作用域外执行,也可以记住定义时的词法作用域的内容,后续执行时,使用这些信息。
2025-12-11 09:52:43
295
原创 硬核揭秘200%性能提升的GPU优化之道,从硬件特性到算法实现的完整进阶指南
也就是说,主机函数上的一个地址,对应的数据是在内存条中的,如果不加以转换,就把这个地址传递给内核函数,那么内核函数就会尝试在显卡内存中对应位置去取数据,就会造成严重的错误。答案是这时候就会发生所谓的分支发散(Wrap Divergence),在发生Wrap Divergence时,这些线程的执行会由并行转成串行,GPU会首先执行第一个分支的代码,那些满足第一个分支条件的线程会被激活,其余线程会被冻结,执行完第一个分支后,再执行第二个分支,同样冻结一部分线程,激活一部分线程,直到分支结束。
2025-12-11 09:51:40
893
原创 使用python读取windows注册表
因此我们还是不好进行随意操作,但是查看注册表的信息可以让我们更加了解系统的运行情况。# 遍历路径:\HKEY_CLASSES_ROOT\Directory\Background\shell,查看针对文件夹中空白处右键菜单的操作。print(f"枚举值成功 - 路径: {key}{sub_key}, 值数量: {len(values)}")print(f" 名称: {name}, 值: {data}, 类型: {type_}")通过查看注册表的数据我们可以发现一些比较有趣的系统信息。树中的每个节点称为键。
2025-12-10 13:30:13
355
1
原创 理解WPF Stylet中Command=“{s:Action 方法名}“的设计与实现
现在我们已经找到了View,但是想要触发的方法是在ViewModel上的,那么就要想办法找到对应的ViewModel,Stylet中是通过View.ActionTarget这个附加属性实现的。这里是在把当前这个Subject对象里的ActionTargetProperty的值‘拴’到 某个尚未显式的目标属性上,而且只让它从源(Subject)流向目标,不会反向同步。在将View与ViewModel关联起来的时候,设置了当前View的ActionTarget为对应的ViewModel。
2025-12-10 13:29:16
406
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅