REST与DDD

10 16541 12 4K
之前在为什么要使用MVC+REST+CQRS架构我曾经提出DDD是核心,REST是壳的观点,我想在这里详细谈谈我的思路。今天正好看看到老外一篇博文Why REST is so important:按这.

Spring Boot DTO示例:实体到DTO的转换

10504 5 4K
在本教程中,我们将学习如何在Spring Boot应用程序中创建DTO(数据传输对象)类,以及如何使用ModelMapper库将实体转换为DTO,反之亦然。数据传输对象设计模式是一种经常使用的设计模式.

依赖注入与事件编程

14 10557 20 2K
依赖注入或者称反转Ioc,通过第三方框架将你需要依赖的类主动注入进来,依赖注入随着Spring和JavaEE6普及,已经成为大家习惯的一种默认处理类关系的方法。我将依赖注入和事件编程进行联系比较,是源.

从CRUD编程切换到事件溯源和区块链编程

2 6036 19 2K
CRUD是增删改查的简称,其中增删改都属于一种变动操作,而新增和删改分别属于两种不同类型的变动,如果以记账来类比,新增等同于多了一笔金额,而删改等同于减少了一笔金额。下面以文档的增删改查从记账角度看看.

用事件风暴分解单体设计微服务 - capital

5109 10 4K
作为软件工程师和架构师,我们经常面临为遗留系统创建目标微服务架构的挑战。这些系统通常是已经存在多年的大型单体应用程序,通常具有很多依赖性,并且通常在您的公司中没有一个人了解这一切。在这些情况下,一群领.

Rust Web框架列表

21350 4 2K
由于Rust生态系统还处于早期阶段,因此框架有很多选择。每个人都有自己的优点和缺点,没有明显的赢家。RocketRocket是一个十几岁的框架 - 比其他许多框架更发达,但仍然不太成熟。它的特殊功能是.

In-Stream大数据处理模式

10 10228 19
来自In-Stream Big Data Processing一文总结了当前大数据实时处理的通用设计和模式,主要是Storm, Cassandra, Kafka组合,也包括LinkedIn的Samza.

两个领域事件驱动的开源项目介绍

8936 13
基于DDD的EventSroucing事件溯源和CQRS的项目正在迅速发展,这里介绍两个开源项目:flowing-retail和scalable-coffee-shop。它们都是基于Apache Ka.

使用依赖注入实现聚合根之间调用的逻辑悖论

17 11707 17
DDD中如果有两个聚合根调用,如何解决?如果还是使用依赖注入,就会发生聚合根嵌套的可笑事情发生。以代码为例子:有两个聚合根类AggregateRoot1 AggregateRoot2,Aggregat.

让ChatGPT为你生成室内装修图

3526 5
这里有一个一段的ChatGPT提示,您可以使用它生成无限的室内设计/建筑照片,与Middroute中的提示具有90%以上的一致性。要求ChatGPT:请创建一个表格,将室内建筑照片构图分解为以下关键要.

你的SOA已经使用了EDA和CQRS吗?

21 14642 13
来自2013年4月底的 IDDD Tour 演讲:你的SOA已经使用了EDA和CQRS吗?(What SOA do you have (with extended EDA and CQRS mater.

幽默:为什么DDD的Bounded Context翻译为"有界上下文"?

5562 10
随着DDD普及发展,DDD的各种名词涌现而出,DDD的难点在于其术语抽象模糊,但模糊而不含糊,模糊是因为位置站得高,站在业务和技术两个领域高度,高屋建瓴;不含糊则是看似模糊的表面背后有深刻的含义。DD.

ddd-crew/ddd-starter-modelling-process:DDD设计入门建模流程

10455 6 10K
如果您是DDD的新手,并且不确定从哪里开始,则此流程为您提供了逐步指南,帮助学习和实际应用域驱动设计的各个方面:从围绕组织的业务模型定位到编码域模型。使用此流程将指导您完成设计具有DDD思维方式的软件.

为什么我再也不使用MVC框架了?

2 19000 7 7K
该文通过作者亲身设计思考经历,从遭遇MVC使用问题开始,然后引入函数式Reactive响应式编程,重新设计了前端架构,最后颠覆了基于OO范式的传统MVC模式。以下是原文大意翻译:这些天我的最糟糕工作是.

在Spring Cloud中使用OPENFEIGN技巧与最佳实践

1 16879 5 13K
与单片应用程序相比,分布式系统中的服务在多台计算机上运行。为了让这些服务相互交互,我们需要某种进程间通信机制。在OpenFeign的帮助下,我将解释如何启动对另一个服务的同步调用。 OpenFign是.

JDK 21:Java 21 中的新特性

5482 2 7K
Java Development Kit (JDK) 21 将于 9 月作为 Oracle 标准 Java 实现的下一个长期支持版本发布,现在正式为其提议了 16 个特性,最近几天又增加了三个特性。 .

基于Vert.x和SpringBoot实现响应式开发

21712 6 8K
Vert.x是作为一个事件总线的设计,以保证应用中不同部分以一种非堵塞的线程安全方式通讯,其原理来自于Erlang和Akka,它是能充分利用多核处理器性能并实现高并发编程的需求。所有Vert.x 的V.

到底什么是事件驱动架构EDA?这篇文章讲得比较清楚。

1 11865 9 7K
通过事件进行应用程序的设计是自20世纪80年代后期以来的一种实践。我们可以在前端或后端的任何地方使用事件。当按下按钮时,某些数据发生更改或执行某个后端动作。但是事件究竟是什么呢?我们什么时候应该用它呢.

微服务

7 15212 11
Martinfowler的这篇微服务文章引发了软件架构方面的热烈讨论,“今天在软件架构方面,除了微服务这个名称没有什么新的”。现大意翻译如下:微服务,是另外一个在软件体架构这个拥挤的街道上冒出的新名词.

免费开源的速度测试软件:openspeedtest

3217 7
Speed Test by OpenSpeedTest 是一种免费的开源 HTML5 网络性能评估工具,使用 Vanilla Javascript 编写,仅使用内置 Web API,如 XMLHtt.

基于线程与基于事件的并发编程之争

12914 12 3K
Java和Node.js可以说分别是基于线程和基于事件的两个并发编程代表,它们互相指责瞧不起对方,让我们看看各种阵营的声音:基于事件的粉丝认为线程是一个坏主意,原因有是:1. 你得显式的协调共享数据的.

Spring Boot的@Configuration和自动配置有什么区别?

7645 12 2K
我们都知道springboot的这个原理@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentS.

如何在 Rust 项目中读取 JSON、YAML 和 TOML 文件

8620 2 13K
在本教程中,您将学习如何从外部源读取 JSON、YAML 和 TOML 文件,以便在您的 Rust 项目中使用。使用 Rust 编程语言读取 JSON 文件、YAML 文件和 TOML 文件。处理文件.

为什么组合好于继承?

9 8350 18 2K
本文使用亲身案例形象说明了软件设计领域为什么组合Composition要好于继承(包括接口继承),只有需求分析域的问题分解,才有设计编程的组合应用。来自游戏公司GameSys的Yan Cui发表了博文.

Vue.js比jQuery更容易学习

1 7649 16 3K
普遍认为jQuery是适合web初学者的起步工具。许多人甚至在学习jQuery之前,他们已经学习了一些轻量JavaScript知识。为什么?部分是因为jQuery的流行,但主要是源于经验开发人员的一个.

java-callgraph:为Java程序生成静态和动态调用依赖图

3089 8
一套用于在Java中生成静态和动态调用图的程序。 javacg-static。从jar文件中读取类,沿着方法体走,并打印出一个调用者-被调用者的关系表。 javacg-dynamic。作为一个Java.

正好一次(Exactly-once)消息传递在Kafka中已经完全支持

11783 9 8K
本文是来自Kafka的创始人Jay Kreps的一篇博文,回答了世面上怀疑Kafka是否支持正好一次(Exactly-once)的消息传递,从而说明了Kafka能支持分布式事务,保证微服务事务的完整性.

什么是事件网格? - solace

2174 22
事件网格是一个可配置的动态基础设施层,用于在解耦的应用程序、云服务和设备之间分发事件。它使事件通信能够得到管理、灵活、可靠和快速。事件网格是通过互连的事件代理网络创建和启用的。换句话说,事件网格是一个.

uber/cadence:Cadence是一种分布式,可扩展,持久且高度可用的流程编排引擎

11394 6 5K
定位类似zeebe、activiti之类工作流引擎,高级别的区别在于zeebe是基于BPMN的,Cadence支持使用Java或Go等普通编程语言编写编排代码。大多数复杂程序都不是使用可视化编程编写的.

Spring Boot如何生成swagger.json?

11721 7
使用java spring boot框架创建REST api,可以在maven中导入“springfox-swagger2和springfox-swagger-ui”来生成swagger文档,可以使用.