分享我的:领域驱动设计(DDD)学习成果精简总结

4 7836 47 3K
1. 创建领域对象采用构造函数或者工厂,如果用工厂时需要依赖于领域服务或仓储,则通过构造函数注入到工厂;2. 一个聚合是由一些列相联的Entity和Value Object组成,一个聚合有一个聚合根,.

Kafka真正定位并不是消息系统

9991 19 4K
本文是Kafka创始人的一篇博客,认为Kafka可以用于像数据库那样持久存储,这与人们通常对消息系统的印象不同,其实Kafka真正定位是一个日志系统,消息队列只是其一个应用模式,如同会气功的人玩劈砖一.

java真的没前途

123 39046 12
这个论坛里大部分是弄java的,但是我还是想表达我的观点。本人用了8年vc,2年linux-gcc,现在因工作需要参与一个java的项目。我对java、j2ee等的认识,可以归纳为3点:1、java的.

DDD事件建模与实现源码案例:外卖系统

6395 11 6K
整个外卖系统架构包括三个系统订单管理、餐厅管理和快递管理。案例场景:客户使用 Web 应用程序在当地餐馆下订单。应用程序协调餐厅/厨房订单的准备工作,以及交付订单的快递员网络。建模事件建模是一种使用示.

使用Spring Cloud Data Flow实现批量数据处理ETL

16037 9 10K
文件摄取是一种ETL应用程序,它逐行读取文件,验证每个行条目,并经常执行某种类型的数据转换。生成的条目放在数据存储中,这些转换后的数据可以被其他应用程序使用。这种类型的处理经常出现在B2B集成领域,零.

行为驱动开发(BDD)如何与领域驱动设计(DDD)结合?

9 11774 28
行为驱动开发(Behaviour Driven-Development)与测试驱动开发(TDD)两者都强调敏捷迭代,BDD使用“用户故事”来描述需求,然后开发人员将这些故事带入具体应用,通过不断迭代添.

在VSCode中直接查看Excel、CSV文件的插件

20574 2
VS Code 有很多编程以外的扩展,这使得数据分析更容易。在这里,我们将介绍一些以易于阅读的方式显示 CSV 和 Excel 文件的标准扩展。 SandDance for VS Code “Sand.

OpenAPI规范入门

23056 6 4K
当我不写文章时,我在一家大型软件公司工作,我们拥有许多工程团队,所有这些团队都为复杂,多功能和高度可用的业务平台的特定元素做出了贡献。我们选择了API-First方法来加速开发并增强领域之间的协作。由.

JVM堆大小的建议

3 7647 43
JVM的堆大小设置是一趟很深的水,既要有对架构高度认识和落地,也要有对语言内部机制深入理解和掌握。首先,需要对JVM的Heap大小有一个预设和监测,见这篇文章选择合适Java堆大小的五个建议(5 Ti.

什么是流式思维?

7 11318 24 8K
架构治理如同大禹治水,以疏代堵,顺势而为,大道如水,那我们的思维也要切合如水。首先什么是流?最先联想到的是“水流”,潺潺不断,流是一种动态过程,如果你想截断水流,最简单的是堵住它,所以,流是不能被堵塞.

领域服务与应用服务的区别

12834 11 6K
在这篇文章中,我们将看一下领域域服务与应用服务有什么不同。人们常说,领域服务是承载那些不自然地适合实体和值对象的领域知识。但是,还有另一个原因可能需要引入域服务。这个原因与领域模型隔离有关。那么,领域.

Martin Fowler厌倦ORM了

16 18536 17
Martin fowler几年前曾经非常推崇ORM(对象/关系数据库映射框架),特别是Hibernate和Ruby的Active Record,现在他面对大家越来越多对ORM责难和怀疑。他写了这篇新的.

为什么计算科学中最难的两件事是命名和缓存失效

6 16507 18
2013-01-11 10:18 "@thinkjava"的内容命名是有些笼统 ... DDD的命名笼统好像是小事,但是反映了对事物的分析程度,有句老话:"There are only two har.

鲍勃大叔实锤:类与数据结构的比较!每个优秀的软件设计师和架构师都需要牢记的问题

7516 17 5K
什么是类? 类是一组类似对象的规范。 什么是对象? 对象是一组对封装数据元素进行操作的函数。 或者更确切地说,对象是一组对隐含数据元素进行操作的函数。 暗示数据元素是什么意思?“ 对象的功能意味着存在.

如何在Java 8中将List转换为Map?

10039 14 3K
假设有一个员工对象:public class Employee {     // member variables    private int empId;    private String em.

Atom必不可少插件推荐

19237 10 2K
Atom作为Javascript/CSS/HTML等前端编辑器IDE利器,其强大功能依靠各种插件,下面是必不可少插件推荐,安装这些插件只需要在Atom的File ->setting ->install.

SpringBoot+Dubbo+DDD领域驱动设计开源项目:myddd-spring-boot

4018 11
myddd-spring-boot是myddd全栈式领域驱动的后端开发框架,用于支持基于spring boot的后端开发,支持Java以及Kotlin两种语言。myddd-spring-boot始终坚.

领域模型的行为设计

22 17429 16 2K
领域模型的行为设计是面向对象领域建模设计的重要部分。在没有设计的朴素的情况下,领域模型一般是一个数据对象(DTO等),其中只有setter/getter方法,是一种纯粹的数据结构,然后将很多数据结构的.

Spring Boot十种安全措施

10276 14 8K
Spring Boot大大简化了Spring应用程序的开发。它的自动配置和启动依赖大大减少了开始一个应用所需的代码和配置量,如果你已经习惯了Spring和大量XML配置,Spring Boot无疑是一.

Java 17新特性

7739 8 6K
Java 17计划于 9 月 14日发布,来自不同供应商的版本将在当天或之后发布。Java 17 的特别之处当然是 Oracle 和 OpenJDK 社区都决定这将是一个长期支持版本,就像 Java .

ORM真的不适合DDD

52 17262 15 2K
第一篇帖子,先自我介绍一下,我从07年开始关注并实践DDD,也一直在关注jdon的成长(虽然一直没有注册ID并发言)。自己的tech stack是.NET阵营的,一致也在致力推广.NET下DDD的实践.

如何打败CAP定理?

12 12109 26 2K
一篇谈使用读写分离方式实现如何打败CAP定理文章,可以认为是Event Sourcing的一个变种。CAP定理认为一致性 可用性和分区容错性同时不能获得,通常我们不能丧失分区容错性,那么你就只有在可用.

Docker微容器+微服务将颠覆传统的软件架构

2 31973 7
从我的观点看:Docker是一个微容器,一个云计算的微PaaS容器,类似JVM但比其更强大的容器,直接基于Linux内核,支持各种语言,它比VM虚拟机更加轻量,能够在Linux或云计算IaaS等平台上.

大多数程序员最重要的应该学习什么?

3 9284 25 2K
大多数人以为他们需要学习特定技术、算法、数学或其他形式的具体知识。 但是在Joost看来,这些从来都不是最主要的。 最主要的是他们需要学习“ 自律 ”。这是来自What most young prog.

什么是AI建模?

14086 4 2K
模型是数据科学的核心输出,它们具有改变公司、行业和社会的巨大力量。每个机器学习或人工智能应用程序的核心是使用数据、算法和代码构建的 ML/AI 模型。尽管模型看起来像软件并涉及数据,但模型具有不同的输.

Hello, world! — 我心中的道

81 21688 15 6K
序言 08年6月,地震之后,在家无事,下载Sun上的Java Tutorial开始了自己的Java之旅。之前看过K&R《C语言程序设计》,对编程算是有一点点基本的认识。而后数月,无意间碰到设计模式.

无堵塞的并发编程

15 14026 22 3K
顺序编程非常普及,可以说是大多数程序员编程范式,只不过可能他们没有意识到,如今已经进入并发编程时代,顺序编程和并发编程是两种完全不同的编程思路,堵塞Block是顺序编程的家常便饭,常常隐含在顺序过程式.

使用ReactJS + Node实现服务器端响应渲染

3 47614 4 5K
客户端Javascript驱动的MVC如angular, ember, backbone等的问题是比较慢,用户体验差,同时对搜索引擎不友好,因此,J业界开始实现Javacript的服务器端渲染。前段时.

Spring Cloud Gateway之RouteLocator简介

14794 8 8K
本文来自于openhome,点击标题见原文,Spring 5以后引入了Spring Cloud Gateway作为路由网关,类似Nginx,其复杂的路由规则可通过代码实现,这就是RouteLocato.