- 博客(849)
- 问答 (1)
- 收藏
- 关注
原创 16.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Github Action
GitHub Actions 作为 GitHub 提供的持续集成和持续部署(CI/CD)平台,在微服务架构中发挥着至关重要的作用。通过工作流(Workflow)、作业(Job)、步骤(Step)和动作(Action)等核心概念,我们可以构建出高效、可靠的自动化流程。在微服务架构中,GitHub Actions 能够为每个独立的服务定制专门的自动化流程,包括代码质量检查、单元测试、集成测试、容器镜像构建以及部署等步骤。通过环境变量、条件执行和矩阵构建等高级功能,我们可以实现更加灵活和智能的自动化流程。
2025-04-26 21:13:13
1092
原创 19.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--当前项目拆分规划
我们制定了从身份认证服务开始,依次拆分配置服务、货币汇率服务、账务核心服务到报表服务的渐进式迁移策略。同时,我们也充分考虑了数据一致性、服务通信延迟、分布式事务等技术挑战,并通过监控系统、服务降级机制、API版本控制等手段来保障系统的可用性和可维护性。这套完整的规划方案将指导我们有序地完成微服务架构转型,构建一个更具扩展性和弹性的系统。
2025-04-26 14:45:50
853
原创 15.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--SonarQube部署与配置
在将孢子记账系统从单体架构转向微服务架构的过程中,SonarQube的引入为我们提供了一个强大的代码质量管理解决方案。通过本文的详细指导,我们完成了以下关键任务:环境搭建、工具集成、自动化流程、佳实践。通过这些步骤,我们为孢子记账系统的微服务架构建立了一个完整的代码质量管理体系。这不仅有助于提高代码质量,还能帮助团队更好地协作,确保系统的长期可维护性和稳定性。在微服务架构中,每个服务都是独立部署和运行的,因此确保每个服务的代码质量都达到高标准变得尤为重要。
2025-04-20 19:26:30
1154
原创 18.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--微服务的部署与运维
微服务架构的成功实施离不开高效的部署与运维体系,这为系统的高可用性、扩展性和稳定性提供了可靠保障。通过容器化与编排技术,微服务得以实现独立部署和高效管理。Docker 容器化能够将微服务及其运行环境打包成独立的容器,简化部署流程,同时保证环境一致性。Kubernetes 则通过集群管理实现自动化部署、负载均衡和弹性扩展,使得微服务能够轻松应对高并发和故障容忍场景。API 网关作为客户端与微服务的统一入口,承担了流量管理、负载均衡和安全策略的职责。
2025-04-12 19:08:00
1104
原创 17.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--如何拆分单体
按业务领域划分微服务的边界应与业务领域高度契合,这样可以使每个微服务聚焦于特定的业务功能。例如,电商系统可以划分为用户服务、订单服务、支付服务、商品服务等,每个服务负责一类业务逻辑。使用领域驱动设计(DDD)的方法,可以帮助识别核心领域和支撑领域,从而定义清晰的服务边界。遵循单一职责原则微服务的设计应遵循单一职责原则(SRP),即每个服务只关注一个特定的功能领域,避免职责混乱。例如,订单服务只负责订单的创建、查询和管理,而不应该包含任何与用户认证或库存管理相关的逻辑。
2025-04-12 18:33:37
1049
原创 14.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--CAP
CAP 主要功能及设计理念CAP 是一款专为分布式系统和微服务设计的开源框架,核心目标在于解决跨服务数据一致性问题。它通过将本地数据库事务与消息记录绑定,在提交本地事务的同时记录消息,再由后台异步任务确保消息发送到消息中间件(如 RabbitMQ、Kafka 等),从而实现最终一致性。设计理念侧重于降低系统耦合、优化性能和简化开发难度,为分布式事务提供轻量级且高可靠性的解决方案。核心概念事件驱动:系统各个模块通过事件通知触发业务操作,解耦业务逻辑。发布/订阅模型。
2025-04-12 14:43:41
667
原创 13.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Refit
创建接口定义在 Refit 中,接口定义是使用接口和特性来描述的。首先,我们需要创建一个接口,并在其中定义我们要调用的 HTTP 方法。[Get[Post"/users"在这个示例中,我们定义了一个名为IMyApi和。每个方法都使用了不同的 HTTP 请求类型特性([Get]和[Post]特性注解详解[Get]:用于发送 HTTP GET 请求。可以包含 URL 路径参数和查询参数。[Post]:用于发送 HTTP POST 请求。通常用于创建资源。
2025-04-06 15:44:38
1050
原创 7. 【Vue实战--孢子记账--Web 版开发】-- 收支分类设置
本篇文章我们一起来实现收支分类功能。收支分类和前篇文章的主币种设置界面大体类似。我们将详细介绍如何创建和管理不同的收支分类,以便用户可以更好地组织和跟踪他们的财务状况。
2025-03-22 20:52:25
777
原创 12.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--熔断与限流
在微服务架构中,熔断与限流机制是保障系统稳定性和高可用性的关键手段。熔断机制通过监控服务健康状态,在请求失败率或超时时间超过阈值时,自动中断对故障服务的调用,防止错误扩散。熔断器有关闭(正常)、打开(拒绝请求)和半开(尝试恢复)三种状态,确保系统在故障发生时能迅速隔离问题。限流机制通过控制单位时间内的请求数量,防止因流量激增导致系统资源耗尽或服务崩溃。常见限流算法包括令牌桶、漏桶和滑动窗口。Ocelot网关通过QoSOptions配置熔断(如异常次数、熔断持续时间、超时时间)和。
2025-03-20 22:03:17
662
原创 发布调整声明
大家好!自专栏开设以来,我们一直致力于为大家提供系统、深入且实用的微服务学习内容,帮助大家掌握微服务的核心技术,提升在实际项目中的应用能力。在内容规划和发布过程中,我们希望通过系统的知识铺垫,让大家从基础概念入手,逐步深入理解微服务的设计原理、架构模式和技术实现。然而,在专栏发布的过程中,我们收到了不少同学的反馈和建议,希望能够根据不同的学习基础和需求,进一步优化内容的发布节奏。
2025-03-17 19:38:08
626
原创 11.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--整合日志
随着微服务架构和分布式系统的普及,日志数据来源日益分散且数量庞大,单个服务的日志已难以满足故障排查、性能监控和安全审计的需求。通过集中式日志系统,所有日志数据能够实时汇聚到一个中央平台,这不仅便于对历史数据进行归档和检索,更可以通过统一的查询和分析工具对全局日志进行聚合分析,从而迅速识别系统异常、瓶颈和安全隐患。目前市面上较为成熟的集中式日志解决方案主要有 ELK Stack、EFK Stack 以及 Splunk 和 Graylog 等。
2025-03-16 21:38:23
748
原创 AI落地:走入生活--引言
近年来,随着信息技术的飞速发展和数字化转型的不断深入,人工智能(AI)作为一项颠覆性技术正以前所未有的速度改变着各行各业。从智能语音、图像识别到自然语言处理、自动驾驶,AI技术已经不再局限于实验室中的概念验证,而是逐步走向了产业应用和实际落地。面对技术的迅猛进步和市场需求的爆发式增长,如何高效地把人工智能技术应用于实际业务,如何将理论与实践相结合,成为当前企业、政府和学术界共同关注的焦点。本专栏正是在这一背景下诞生的。
2025-03-09 18:41:57
232
原创 10. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--认证
JSON Web Token(JWT)是一种开放标准(RFC 7519),用于在网络环境中以紧凑、自包含的方式安全传递信息。它基于JSON格式,并通过数字签名保证数据完整性与真实性,广泛应用于身份验证和信息交换。头部(Header)、载荷(Payload)和签名(Signature),并以“.”分隔。头部包含令牌类型及签名算法,如HS256或RSA,经过Base64Url编码后形成第一部分。载荷存储标准声明(如发行者iss、过期时间exp、主题sub。
2025-03-09 17:29:33
967
原创 微软创想未来峰会
🚀 扫码即刻报名,限定席位,机不可失!🏹在这里,你将收获:• 与微软全球专家面对面交流,尽览智能技术前沿趋势与最新技术应用• 深入探索热门行业的智能技术未来,掌握企业转型的成功秘籍• 全方位接轨打造企业级智能体生态,掌握打造智能体生态圈的关键技术• 沉浸式体验丰富多样的互动现场,亲身参与精彩的实验营、挑战赛等活动⭐️ 微软创想未来峰会活动时间:4月23日 09:00-17:00活动地点:北京中关村国际创新中心名额有限,快来领取这份来自智能体世界的邀约!扫码报名,期待与你相聚,共创无限可能,不见不散!
2025-03-05 19:25:51
242
原创 9. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--请求聚合
请求聚合是微服务架构中优化客户端交互的核心技术,通过网关(如Ocelot)合并多服务调用为单一请求,减少网络开销与延迟,适配多端数据需求。Ocelot支持静态聚合(通过JSON配置默认拼接响应)与动态聚合(自定义代码实现复杂逻辑),需配置Aggregates节点关联路由,并确保路由Key唯一。静态聚合适用于简单场景,动态聚合支持数据裁剪、错误熔断等高级功能,但需权衡性能与维护成本。实践中需注意事务一致性、监控聚合耗时,并通过缓存优化高频请求,最终实现服务解耦与性能提升的平衡。
2025-02-26 18:04:02
694
原创 8. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--负载均衡
Ocelot作为API网关的核心组件,通过内置多种负载均衡策略与服务发现机制,为微服务架构提供高效的流量调度能力。其支持轮询、最小连接数、会话粘滞等算法,动态适配不同场景需求:轮询确保基础均衡,最小连接数优化长连接负载,会话粘滞保障有状态服务连续性。深度集成服务发现工具,实时感知实例状态并自动剔除故障节点,结合健康检查实现高可用容错。用户可通过JSON配置快速定义策略,或通过继承ILoadBalancer接口实现加权分发等复杂逻辑,灵活扩展负载均衡能力。
2025-02-26 16:03:14
839
原创 7. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--路由
路由是API网关的核心功能,通过定义规则将客户端请求准确地转发到相应的后端服务,确保请求的正确处理,简化了微服务架构中的服务调用逻辑。Ocelot中的路由配置包括上游路径模板和下游路径模板,并支持路径参数、可选参数、默认值、正则表达式、动态API版本控制和多语言支持等高级功能,提升了系统的灵活性和可维护性。
2025-02-26 14:13:17
654
原创 6. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--概念与简单入门
Ocelot是基于.NET Core的开源网关,旨在为微服务架构和服务导向架构提供统一的入口。作为网关,Ocelot通过提供一系列强大而灵活的功能,帮助开发者轻松管理和路由客户端请求。Ocelot的核心功能之一是路由。通过定义路由规则,Ocelot能够将客户端的请求转发至适当的后端服务。每个路由规则包括一个上游路径(客户端请求的路径)和一个下游路径(后端服务的路径)。这种映射机制使得Ocelot可以灵活地处理不同的请求,确保客户端与后端服务之间的通信顺畅。
2025-02-20 00:40:31
798
原创 5. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Nacos
Nacos 是阿里巴巴开源的一款云原生应用基础设施,它旨在简化微服务架构中服务治理和配置管理的复杂性。通过 Nacos,服务在启动时可以自动注册,而其他服务则可以通过名称来查找并访问这些注册好的实例。同时,Nacos 内置了实时健康检查机制,能够监控各个服务实例的状态,确保只有健康的服务节点能够处理请求,从而提升整个系统的可靠性和稳定性。此外,Nacos 还提供了一个集中化的配置管理平台,使得应用能够在运行时动态更新配置而无需重启,这不仅大大降低了运维成本,也避免了因硬编码或分布式文件更新而带来的各种问题。
2025-02-09 23:35:45
1402
原创 4. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务设计原则与最佳实践
微服务设计原则与最佳实践涵盖了从系统整体拆分到各个微服务具体实现的各个方面。本文详细讨论了如何基于业务功能、团队边界和数据隔离合理拆分服务;探讨了服务自治和独立部署的重要性;深入解析了数据管理策略与跨服务通信设计的方法;并介绍了配置管理、容错设计与监控实践等关键环节,辅以实际项目中的成功经验和失败教训,为构建稳定高效的微服务系统提供了全面的指导。在构建微服务架构时,遵循这些设计原则和最佳实践,不仅能提高系统的灵活性和可扩展性,还能显著降低运维和故障恢复的复杂性。
2025-02-07 21:49:53
1154
原创 3. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务的核心特性与设计理念
然而,微服务架构的实现并非没有挑战,它需要开发团队具备良好的架构设计能力、跨领域的技术知识和系统性的思维方式。通过理解微服务架构的核心特性与设计理念,开发者和企业能够更好地应用这一架构模式,实现业务与技术的双重升级,为未来的系统架构设计奠定坚实的基础。服务架构的核心特性之一是服务的独立性和自治性。此外,微服务的可独立部署的特性使得开发团队可以在不影响其他服务的情况下,对某个服务进行独立的更新和部署。通过以业务领域为中心的设计,微服务架构能够更好地适应业务需求的变化,提高系统的灵活性和可维护性。
2025-02-06 22:24:47
980
原创 2. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务概述与演变
微服务(Microservices)是一种将单一应用程序划分为一组小型、自治服务的架构风格。每个服务都围绕具体业务功能构建,可以独立部署、独立扩展,并通过轻量级的通信协议(例如HTTP REST API、gRPC、消息队列等)与其他服务进行协作。与传统的单体应用相比,微服务更加强调“分而治之”,使得每个模块都具备较高的独立性和灵活性。在微服务架构中,每个服务通常会有独立的数据存储和业务逻辑,能够由独立的开发团队负责管理和维护。
2025-02-05 21:15:34
902
原创 3. 【.NET Aspire 从入门到实战】--理论入门与环境搭建--环境搭建
通过以上步骤,你可以成功搭建 .NET Aspire 的开发环境,为后续的项目初始化和开发奠定坚实的基础。保每个步骤都正确执行,以避免在后续开发过程中遇到不必要的问题。
2025-02-05 14:34:54
1278
原创 2. 【.NET Aspire 从入门到实战】--理论入门与环境搭建--.NET Aspire 概览
NET Aspire 是一个强大而灵活的开发框架,它为开发者提供了丰富的功能来构建、部署和管理云原生应用程序。通过 .NET Aspire,开发者不仅能够高效地构建现代化的分布式应用,还能够通过一整套工具和集成功能来简化开发、测试和运维过程。从本地开发环境到云平台部署,从微服务架构到容器化支持,.NET Aspire 提供了一整套高效的解决方案,帮助开发者更轻松地构建可维护、可扩展的应用程序。无论是开发者,还是运维人员,.NET Aspire 都能够为他们提供极大的便利,提升开发效率和系统可靠性。
2025-02-04 12:33:07
1060
原创 6. 【Vue实战--孢子记账--Web 版开发】-- 主币种设置
这篇文章介绍了如何在孢子记账项目中实现主币种设置功能。首先,文章通过展示一个原型图,明确了功能需求,包括显示和设置主币种以及查看汇率信息。接着,文章详细介绍了三大组件的实现:面包屑导航、主币种显示与设置、以及汇率表。在实现主币种设置时,利用了 Element Plus 的组件实现了面包屑导航,帮助用户定位当前页面;el-form和el-select用于展示和编辑主币种,通过简单的表单和下拉框让用户进行币种选择和修改;而汇率表则通过el-table和结合使用,展示汇率数据并支持分页显示。
2025-02-03 14:22:29
1256
原创 1. 【.NET Aspire 从入门到实战】--理论入门与环境搭建--引言
总的来说,.NET Aspire 以其独特的设计理念和强大的功能集,正在为云原生应用的开发带来革命性的变革。从平台无关性、内置云原生能力,到高效的服务治理和自动化运维支持,Aspire 为分布式系统开发提供了一条全新的路径。它不仅降低了开发门槛,提升了系统稳定性和扩展性,同时也为开发者节省了大量的时间和精力,使我们能够更多地关注于核心业务逻辑和创新性功能的实现。在本专栏中,我们将从理论和实践两个层面,深入探讨 .NET Aspire 的技术细节和最佳实践。
2025-02-02 21:17:58
1048
原创 1. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--前言
在专栏的第一部分,我们将全面介绍微服务的基本概念。首先,我们将讲解什么是微服务,分析微服务与传统单体架构之间的差异,并探讨微服务架构的优势和挑战。微服务架构的核心思想是将一个大而复杂的应用程序拆分为一组小而独立的服务,每个服务都负责一个特定的业务功能,并通过轻量级的通信协议与其他服务进行交互。与传统的单体架构相比,微服务架构具有更好的可扩展性、灵活性和可维护性,同时能够更好地支持持续集成、持续交付和自动化部署。然而,微服务架构并非没有挑战。
2025-02-02 12:39:41
855
原创 5. 【Vue实战--孢子记账--Web 版开发】-- 主页UI
在本节中,我们通过使用 Element Plus 的组件来实现个人中心的主页 UI。首先,原型图包括了左侧菜单和顶部 Header,菜单包含多个功能模块如首页、账本、报表等,Header 则包含了 Logo 和个人头像。为实现这个布局,我们使用了布局组件,并配合el-headerel-aside和el-main来实现响应式页面结构。同时,我们采用el-menu组件来构建左侧菜单和顶部导航栏,菜单项通过和el-submenu组件实现,支持嵌套和功能操作。
2025-02-01 13:34:10
1074
原创 28. 【.NET 8 实战--孢子记账--从单体到微服务】--简易报表--报表定时器与报表数据修正
在这篇文章中,我们介绍了如何在.NET 8环境下实现定时生成财务报表的功能。首先,分析了需求,确定了报表数据统计的时间和更新策略。然后,通过使用Quartz库创建了定时器类,该类实现了IJob接口,并在其Execute方法中实现了报表数据的生成和更新逻辑。在实现过程中,通过依赖注入获取必要的服务实例,查询用户的收入和支出记录,生成季度、年度和月度报表,并将这些报表和日志条目保存到数据库中,实现了报表数据的定期更新和持久化存储。此外,还展示了如何在新增支出记录时更新报表数据,确保报表数据的实时性和准确性。
2025-01-27 20:55:49
1923
2
原创 29. 【.NET 8 实战--孢子记账--从单体到微服务】--项目发布
本文是本专栏的最后一篇文章,聚焦于服务发布的关键步骤,而非详细的服务器配置。本篇内容从服务器配置到项目发布,再到服务自启动配置,帮助大家完整掌握发布流程。在服务器配置方面,推荐选择4U8G配置或本地虚拟机,运行环境则需要安装、MySQL 8 和 RabbitMQ。在项目发布部分,我们通过解决方案管理器设置发布参数(如部署模式和目标运行时),并重点分析了框架依赖与独立部署两种模式的区别及适用场景。
2025-01-27 17:05:53
1304
原创 27. 【.NET 8 实战--孢子记账--从单体到微服务】--简易报表--报表服务
本文介绍了记账应用中的报表功能实现,作为单体应用开发的最后环节,其核心是提供一个接口供客户端查询报表数据。本功能实现以清晰的需求分析为起点,逐步完成了模型设计、服务接口定义、接口实现以及控制器编写。需求方面,报表查询需支持按报表类型(包括月报、季报、年报)和时间维度(年份、月份)进行查询,其中月份参数为可选。功能设计中,视图模型定义了报表类型、年份和月份的基本字段,并通过校验属性确保必填字段的正确性。
2025-01-25 01:52:47
1514
原创 4. 【Vue实战--孢子记账--Web 版开发】--个人中心功能集
在这一片文章中我们开始开发个人中心功能集,它包含:重置密码、安全设置、修改用户名、注销账户和退出功能。其中前三个功能我们使用弹出窗的形式实现,后两个功能由于没有需要输入的功能,因此只有一个简单的链接。要实现的功能前面已经说了,在这一小节我们来看一下原型。这个原型功能很简单,鼠标移动到右上角的用户头像上时会显示下拉菜单,菜单上的功能就是我们要实现的,三个弹窗对应了三个需要交互的功能。我们根据前面所说的功能,分析出三个数据模型:ResetPassword(重置密码)、SecuritySetting(安全设置
2025-01-19 15:48:03
1075
原创 26. 【.NET 8 实战--孢子记账--从单体到微服务】--需求更新--用户注销、修改用户名、安全设置
这篇文章模拟了项目需求新增的情况,展示了如何根据新需求增加功能接口。项目经理提出的新增功能包括重置密码、安全设置、修改用户名和注销账户,要求各功能独立实现。文章详细列出了每个功能的需求说明,并以注销账户为例进行了代码示例。通过添加LogoutUser方法,处理用户注销请求,验证用户是否可删除,并根据情况返回相应的状态和消息。整个过程展示了如何应对需求变更,确保功能扩展的可行性和独立性。
2025-01-19 11:16:21
604
原创 25. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--预算金额的币种转换
这篇文章的代码与第22篇文章中的代码基本相同,主要目的是在主币种切换时,支持预算金额的重新计算。首先介绍了中的Update方法如何在用户配置更新时,通过RabbitMQ发布消息,触发预算金额的重新计算。然后,文章讲解了在中新增的代码,如何通过方法订阅该消息并处理主币种变化后的预算更新。处理逻辑包括获取用户的所有预算、查询新旧币种及其汇率、将预算金额从旧币种转换为新币种,并最终更新预算数据。
2025-01-17 00:46:07
759
原创 24. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--预算扣除、退回、补充
文章介绍了预算管理中复杂功能的实现,包括预算扣除、退回和补充。预算回退涉及三种情况:修改后的支出金额小于修改前的金额、删除支出记录、记录类型从支出改为收入;预算补充包括记录类型从收入改为支出以及修改后的支出金额大于修改前的金额。文章详细描述了如何在新增、删除和修改收支记录时,使用 EF Core 事务机制确保操作的原子性和数据一致性。具体实现方法包括调整预算金额、根据收支记录类型动态更新预算、处理异常并回滚事务,以保证数据库的完整性和正确性。文章通过实际代码示例清晰地阐述了这些操作的细节。
2025-01-14 01:01:27
1076
原创 3. 【Vue实战--孢子记账--Web 版开发】--登录大模块
这篇文章是Web版开发的第一篇文章,因此讲解的比较详细,但是在后续的文章中将只会讲解核心代码和重要代码。完整代码大家可以在github上下载,但是我建议大家先自己实现代码,然后再对比github上的代码。
2025-01-11 13:54:07
1106
原创 23. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--预算
这篇文章我们一起编写的预算服务的新增功能,剩余的功能大家自己动手实现,然后下载我的代码来对比一下哪里不一样。下一篇文章,我们将结合预算和记账功能来完成一个稍微复杂的业务:预算的回退和扣除。
2025-01-04 22:00:30
1044
原创 1. 【Vue实战--孢子记账--Web 版开发】--特别说明
主分支中的代码是可用于发布的稳定代码,Dev分支是开发分支。系列专栏的Web客户端开发专栏。
2025-01-04 17:00:11
276
原创 重构代码之分布修改
分布修改的问题在于分散和低内聚性,重构时应通过集中逻辑、移除重复来优化代码设计,使得修改点尽可能单一化(Single Responsibility Principle)。分析功能的变更范围。将相关代码移到单独的类或模块。使用设计模式改善代码结构。
2025-01-01 00:32:30
400
空空如也
下载了最新的微信开发者工具,创建小程序报错,有谁遇到过?该怎么解决
2021-10-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人