使用DDD指导业务设计的一点思考 (insights.thoughtworks.cn)

【简介】

领域驱动设计(DDD) 是 Eric Evans 提出的一种软件设计方法和思想,主要解决业务系统的设计和建模。DDD 有大量难以理解的概念,尤其是翻译的原因,某些词汇非常生涩,例如:模型、限界上下文、聚合、实体、值对象等。

实际上 DDD 的概念和逻辑本身并不复杂,很多概念和名词是为了解决一些特定的问题才引入的,并和面向对象思想兼容,可以说 DDD 也是面向对象思想中的一个子集。如果遵从奥卡姆剃刀的原则,“如无必要,勿增实体”,我们先把 DDD 这些概念丢开,从一个案例出发,在必要的时候将这些概念引入。

点击查看原文 >>

@Thoughtworks 2020-03-23 18:37 / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
AWS运维部署实践--使用sigma自建镜像仓库代替ECR (wiki.eryajf.net)
本文介绍了如何使用 `sigma` 替代 AWS 的 ECR 作为轻量级的镜像仓库解决方案。通过配置 `s3` 存储、端口监听等设置,实现了低资源占用下的高效镜像管理。文章详细提供了 `config.yaml` 文件的配置方案,以及 `sigma` 部署的具体步骤,适合在自建环境中替代 ECR 进行镜像管理。
by @技术头条 2024-11-02 17:03 查看详情
浅谈 Follow 中的设计理念 (innei.in)
本文分享了 Follow 应用中的核心设计理念,包括多种图标转换方式、Peek 模态预览、优雅的动效过渡(通过 Framer Motion)、层叠模态框的层级处理以及 AutoResize 组件的平滑高度调整。这些设计细节提升了用户体验,同时控制了动态效果强度,确保设备性能与用户偏好。
by @技术头条 2024-11-02 16:58 查看详情
Linux 安全 Auditd 审计工具使用说明 (dusays.com)
本文介绍了 Linux 的 Auditd 审计工具,用于监控和记录安全相关事件。内容涵盖工具安装、审计规则配置、日志管理和规则持久化。审计规则包括文件、系统调用的监控,适合检测敏感操作。通过 `auditctl`、`ausearch` 和 `aureport` 等工具,管理员可以分析日志并生成报告,提升系统的安全性和合规性。
by @技术头条 2024-11-02 16:54 查看详情
IM系统重构到 SDK 设计的最佳实践 (crossoverjie.top)
本文介绍了 CIM 系统重构为 SDK 的实践,使用 Builder 模式创建客户端,实现了长连接、心跳检测及自动重连等功能,极大简化了消息收发流程。还优化了请求代理,通过 `ProxyManager` 动态管理 URL,提升了代码复用性。集成测试涵盖多服务器重连和消息验证,确保系统高可用性。重构增强了模块间解耦,使 SDK 更易于维护和扩展。
by @技术头条 2024-11-02 16:49 查看详情
容器技术驱动下的代码沙箱实践与思考 (blog.yuanpei.me)
本文探讨了基于容器技术的代码沙箱应用,旨在隔离代码执行环境,提升安全性和稳定性。通过 Docker 容器创建语言镜像,支持多语言代码执行。文章介绍了使用 Jupyter 实现代码可视化,并借助 nbformat 和 nbconvert 管理和执行 Jupyter 笔记本,增强代码展示效果。此方案不仅提高了开发灵活性,还便于在 AI 编程中实时展示和分析结果。
by @技术头条 2024-11-02 16:40 查看详情
温故而知新:后端通用查询方案的再思考 (blog.yuanpei.me)
本文探讨了后端通用查询方案的设计,通过 `Gridify` 库启发,提出基于泛型和接口的查询模型,优化分页和过滤功能。实现细节包括 `QueryParameter` 类和 `IQueryableFilter` 接口的使用,自定义模型绑定方式,使查询参数更灵活,支持多种前后端兼容格式。文章强调开发中平衡灵活性与规范性,并认为在 AI 辅助编程背景下,程序员应专注于复杂问题解决和生产关系的改善。
by @技术头条 2024-11-02 16:39 查看详情
使用结构化数据管理 SSH 配置:SSH Config Tool (soulteary.com)
本文介绍了使用 SSH Config Tool 管理 SSH 配置的最佳实践。工具将复杂的 SSH 配置简化为 YAML 格式,实现模块化和自动化管理,适用于设备多、配置庞杂的场景。通过 YAML 文件生成精简的 SSH Config,可提高可读性,减少冗余。工具支持 Docker 运行和 Linux 管道,提供灵活的跨平台应用方式。
by @技术头条 2024-11-02 16:27 查看详情
第一性原理思考:解决问题的通用框架(续) (blog.devtang.com)
本文深入探讨了几种思维框架,包括28原理、谬误推导和终局思维等,帮助在决策中聚焦关键因素,判断信息真伪。文章还列举了常见误区,如误把相关性当因果、从众心理和情绪化决策等,提醒在信息泛滥中保持清晰的逻辑思维。通过案例分析,这些思维模式能有效提升问题解决和决策的效率。
by @技术头条 2024-11-02 16:25 查看详情
第一性原理思考:解决问题的通用框架 (blog.devtang.com)
本文介绍了解决问题的通用框架,基于“第一性原理”思考,分为信息收集、建模、判断和策略迭代四步。通过广泛收集经验与原始数据,建立问题模型,量化核心指标并不断优化策略,可以逐步解决复杂问题。框架虽无法保证执行到位,但帮助接近真实问题,为复杂决策提供可靠支持。
by @技术头条 2024-11-02 16:20 查看详情
再谈 DDD 是银弹吗? (www.diguage.com)
领域驱动设计(DDD)并非解决复杂软件的“银弹”。尽管DDD提供了良好的理论框架,但在快速迭代中难以保持模型稳定,容易引入技术债务。作者建议在宏观上遵循DDD的方法论,但在微观实现中灵活应对,逐步优化代码,解决冗余与维护难题。通过精简代码和重构,在不牺牲开发速度的前提下提高系统的可维护性。
by @技术头条 2024-11-02 16:11 查看详情