架构设计
文章平均质量分 92
讲说常用开发过程中优秀设计思想和案例。
猩火燎猿
互联网大厂架构,知识传递,互通有无!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
oss架构设计深度分析
本文介绍了对象存储服务(OSS)的核心架构设计。主要内容包括:分层架构(接口层、网关层、元数据层、存储层等)、数据流转机制、元数据管理方案(高一致性、性能优化)、存储层设计(分片、多副本、纠删码)、高可用机制以及典型开源实现案例(MinIO和Ceph)。文章还分析了云厂商OSS的演进历程,总结了以分层设计、分布式元数据管理和数据容错机制为核心的架构特点,实现海量数据的安全高效存储。原创 2025-11-01 17:11:06 · 748 阅读 · 0 评论 -
领域驱动设计DDD 应用层与基础设施层
本文详细解析了DDD分层架构中的应用层和基础设施层。应用层作为业务入口,负责用例编排、事务管理、权限控制等,但不含业务规则;基础设施层实现技术细节,包括持久化、消息队列、外部服务集成等。两者遵循接口分离原则,应用层通过接口调用基础设施层实现。文章提供了代码示例、分层协作方式,并针对微服务架构提出事件驱动、服务治理等建议。原创 2025-10-31 02:00:00 · 1041 阅读 · 0 评论 -
领域驱动设计DDD 事件驱动与领域事件详解
事件驱动架构通过事件实现系统解耦与异步协作,领域事件作为业务事实载体推动流程整合。文章系统阐述了二者的概念、作用及设计原则,包括解耦系统、异步扩展、最终一致性和增强领域表达力。通过电商、会员等典型场景说明实施方法,分析同步/异步实现技术(如Spring事件总线、Kafka等),强调事件命名规范、幂等处理和监控等最佳实践。深入探讨了分布式一致性保障方案(事务消息、Outbox模式)及事件溯源应用,指出需注意版本兼容、流控等挑战,建议结合CQRS渐进式落地。原创 2025-10-31 04:00:00 · 1446 阅读 · 0 评论 -
领域驱动设计DDD 领域模型与防腐层详解
领域模型是DDD中对业务知识和规则的抽象,包含实体、值对象、聚合等元素,其核心是表达业务逻辑并保持一致性。防腐层(ACL)则是隔离外部系统的关键模式,通过适配器、转换器等组件保护领域模型免受外部污染,确保系统稳定性和可维护性。二者的协作方式为:防腐层转换外部数据→领域模型处理业务→仓储持久化。实际应用中,领域模型应保持稳定而防腐层需灵活适配变化,并建议采用明确分层、独立测试、自动映射工具等最佳实践。在微服务架构中,每个服务应拥有自己的防腐层来处理跨系统交互。原创 2025-10-31 03:00:00 · 943 阅读 · 0 评论 -
领域驱动设计DDD 仓储(Repository)详解
仓储是领域驱动设计中连接领域层与持久层的桥梁,其核心作用是为聚合根提供对象持久化的抽象接口。设计原则包括:只为聚合根建立仓储、接口与实现分离、仅暴露必要方法。典型实现包含基础CRUD操作和领域相关查询,同时可通过规约模式、缓存策略等扩展功能。仓储应避免包含业务逻辑,保持与领域服务、工厂等模式的明确分工。实际应用中需注意事务边界、性能优化和测试方案,推荐采用内存仓储或Mock实现进行单元测试。仓储模式有效实现了领域模型与数据存储的解耦,是构建可维护领域系统的关键组件。原创 2025-10-29 13:47:11 · 989 阅读 · 0 评论 -
领域驱动设计DDD 领域服务(Domain Service)
领域服务(DomainService)是领域驱动设计(DDD)中封装跨实体业务逻辑的核心组件。它负责处理涉及多个聚合的操作(如转账)、复杂领域计算和业务规则协调,保持实体/值对象的单一职责。领域服务具有无状态、专注领域逻辑、命名体现业务术语三大特征,需避免包含技术实现或保存业务状态。与应用服务不同,它仅处理纯业务逻辑,技术细节由应用层协调。设计时应通过接口定义、依赖注入实现解耦,并可与策略模式、领域事件等模式结合提升灵活性,是维护领域模型纯粹性的重要手段。原创 2025-10-30 04:00:00 · 889 阅读 · 0 评论 -
领域驱动设计DDD聚合(Aggregate)与聚合根(Aggregate Root)
领域驱动设计中的聚合(Aggregate)是一组强关联对象的集合,其中聚合根(AggregateRoot)作为唯一访问入口。聚合通过明确边界保证内部数据一致性,外部只能通过聚合根操作内部对象。订单聚合(Order为根)包含订单项(OrderItem)和支付信息(Payment)是典型案例。设计原则包括:控制聚合规模,仅纳入强一致性需求对象;通过ID或事件实现聚合间协作;事务限定在单个聚合内;持久化以聚合根为单位。在微服务架构中,聚合边界常与服务边界一致,通过事件实现最终一致性。原创 2025-10-30 02:00:00 · 1709 阅读 · 0 评论 -
领域驱动设计DDD值对象(Value Object)详解
值对象(Value Object)是领域驱动设计(DDD)中的核心概念,指没有唯一标识、只关注属性值的不可变对象。其核心特征包括:通过属性值判断等价性(而非ID),创建后不可更改,通常作为实体的属性存在。与实体不同,值对象不关注身份和生命周期,而是表达地址、金额等业务属性。设计时应确保不可变性(只读属性)、重写等价判断方法,并可包含不修改状态的业务方法(如金额相加)。典型实现包括地址、货币金额、时间段等,持久化时通常嵌套存储。合理使用值对象能简化实体设计,提升模型表达力和业务一致性。原创 2025-10-29 11:00:17 · 814 阅读 · 0 评论 -
领域驱动设计DDD实体(Entity)详解
领域驱动设计(DDD)中的实体是具有唯一标识且生命周期内身份不变的领域对象。其核心特征包括:必须具有唯一标识(如ID或Guid),封装业务行为而不仅是数据,并代表重要的业务对象。实体与值对象的关键区别在于是否拥有唯一标识及其可变性。设计时应遵循标识不可变、封装业务规则、保持业务一致性和避免技术污染等原则。实体通常作为聚合根管理其内部的其他对象,通过仓储机制实现持久化。在代码实现上,实体类应包含业务方法(如订单的AddItem、Cancel等),而非简单作为数据结构。原创 2025-10-29 10:29:34 · 761 阅读 · 0 评论 -
软件开发过程中不同应用架构如何规划Module
摘要:本文系统梳理了不同软件架构下的模块规划方案。针对单体应用推荐按功能分层,微服务架构强调按业务领域拆分,DDD架构注重领域模型解耦,前后端分离架构则提倡物理隔离。文中详细列举了各架构的典型模块划分方式,并给出了互联网企业的实践案例。同时指出了模块过度拆分、依赖混乱等常见问题,建议结合团队规模、业务复杂度选择适当方案,保持模块高内聚低耦合,定期进行架构优化以提升可维护性。原创 2025-10-22 14:39:29 · 1033 阅读 · 0 评论 -
架构设计(三)迪米特法则
迪米特法则(LoD)是面向对象设计的重要原则,强调对象间应保持最小知识,仅与直接朋友通信。核心思想是降低耦合度、增强封装性,提升代码复用性。应用时需避免链式调用和过度暴露内部结构,通过委托方法封装复杂交互。该法则与SRP、DIP等设计原则相辅相成,适用于类设计、接口设计和系统架构。实践中需权衡封装性与效率,结合具体业务场景合理应用。在微服务架构中,LoD体现为服务间通过明确接口交互,避免内部细节泄露。团队应通过代码评审、自动化工具等方式持续优化LoD实践,以提升系统可维护性和扩展性。原创 2025-10-09 12:39:52 · 990 阅读 · 0 评论 -
架构设计(二)倒置依赖的正确打开方式
依赖倒置原则(DIP)是面向对象设计的核心原则之一,强调高层模块和低层模块都应依赖于抽象,而非直接相互依赖。该原则通过解耦、提高扩展性和可测试性,使系统更灵活。实现方式包括面向接口编程、依赖注入和工厂模式。在架构层面,DIP适用于分层架构、微服务和事件驱动架构。实践中需避免过度抽象或接口设计不合理,应结合业务需求识别变化点。依赖注入技术(手动或IoC容器)是实现DIP的关键,主流框架如Spring、.NET Core等均支持。原创 2025-10-09 11:54:14 · 1018 阅读 · 0 评论 -
架构设计(一)开闭原则的正确打开方式
开闭原则(OCP)是软件设计的重要原则,指软件实体应对扩展开放、对修改关闭。它提倡通过抽象接口、多态机制和设计模式(如策略、工厂模式)来扩展系统功能,而非直接修改已有代码。该原则能降低维护成本、提高系统可扩展性,在微服务架构、插件系统等场景中尤为适用。实践中需注意避免过度抽象,要针对易变部分进行合理抽象,同时配合单元测试保障系统稳定性。开闭原则不仅提升代码质量,更能优化团队协作效率,使系统更适应业务变化需求。原创 2025-10-09 11:43:07 · 578 阅读 · 0 评论 -
领域驱动设计DDD详解
摘要: 领域驱动设计(DDD)是一种以业务为核心的软件建模方法,通过战略设计(限界上下文、子域划分)和战术设计(实体、聚合、领域服务等)实现高内聚、低耦合的系统架构。其核心是业务语言驱动的领域模型,结合事件驱动、CQRS等模式,尤其适合微服务架构。实践中需避免贫血模型,聚焦核心域,通过事件异步集成上下文,并利用防腐层保护模型纯洁性。例如电商订单领域,订单聚合根管理状态变更,跨服务通过领域事件(如OrderPaidEvent)解耦,结合CQRS优化读写性能。DDD能有效提升复杂系统的可维护性与扩展性。原创 2025-10-08 22:38:47 · 1357 阅读 · 0 评论 -
企业级应用架构详解
企业级应用架构是支撑企业复杂业务需求的技术框架,主要包括分层架构、微服务、SOA、事件驱动等模式。分层架构(UI/Service/DAO)结构清晰但灵活性有限;微服务独立部署、技术异构但运维复杂;SOA强调服务复用但总线易成瓶颈;事件驱动通过消息队列实现异步解耦。架构设计需关注高可用、安全、可维护等核心能力,技术选型需结合业务需求与团队特点。趋势上,企业应用正向云原生、DDD、DevOps演进。不同架构各有优劣,需根据场景选择,如单体适合小型项目,微服务适合大型系统。原创 2025-09-27 11:47:56 · 1429 阅读 · 0 评论 -
架构设计中的那些事
原则名称英文缩写主要思想单一职责原则SRP一个类只负责一项职责开闭原则OCP对扩展开放,对修改关闭里氏替换原则LSP子类可替换父类接口隔离原则ISP使用专用小接口依赖倒置原则DIP依赖抽象而非具体实现迪米特法则LoD只与直接朋友通信CAP理论,又称布鲁尔定理(Brewer’s theorem),由Eric Brewer在2000年提出,是分布式系统领域的基础理论之一。原创 2025-09-27 11:19:02 · 905 阅读 · 0 评论 -
软件开发架构4R原则
本文系统阐述了4R架构设计原则(Rank层级、Role角色、Relation关系、Rule规则)及其在电商平台中的具体应用。Rank强调系统分层(表现层/业务层/数据层/支撑层);Role明确用户/系统/运维等角色职责;Relation梳理模块间交互关系;Rule制定业务规则和技术规范。通过4R原则可建立清晰、健壮的架构体系,案例展示了电商平台各层设计细节及相互关系,为系统开发维护提供结构化指导。原创 2025-09-27 10:15:42 · 953 阅读 · 0 评论
分享