Talking is easy, show me your code真正开始 DDD 旅程前,我想让您看到经过 DDD 设计之后的代码长啥样。我想,这是所有本着“talking is easy, show me your code”理念的程序员都比较在乎的观念。为此,我特别将“群买菜”生鲜电商系统服务端代码新旧代码结构都显示出来,让您看看原来的旧代码——也就是“事务脚本式”代码长啥样(应该是目前大
转载
2023-08-16 16:55:32
111阅读
DDD(domain driven design)领域驱动设计模型一、DP(domain primitive)1、什么是DP2.为什么要用DP2.1 API接口清晰度2.2 数据验证和错误处理2.3 业务代码的清晰度3.DP原则3.1 将隐性的概念显性化3.2 将隐性的上下文显性化3.3 封装多对象行为4. DP与DTO5.DP使用场景二、DDD架构推演传统三层架构(UI、业务层、基础设施层)1
转载
2023-07-21 22:24:17
204阅读
java常用框架总结Java杂谈ORM这是最后一篇Java杂谈了,以ORM框架的谈论收尾,也算是把J2ee的最后一方面给涵盖到了,之所以这么晚才总结出ORM这方面,一是笔者这两周比较忙,另一方面也想善始善终,仔细的先自己好好研究一下ORM框架技术,不想草率的敷衍了事。其实J2ee的规范指南里面就已经包括了一些对象持久化技术,例如JDO(Java Data Object)就是Java对象持久化的新规
转载
2023-11-30 16:18:28
41阅读
SOA与微服务架构参考:SOA架构和微服务架构的区别微服务架构 vs. SOA架构SOA 服务架构之简介及理解 领域驱动架构微服务系统的设计自然离不开DDD(Domain-Driven Design,领域驱动设计),它由Eric Evans提出,是一种全新的系统设计和建模方法。DDD事实上是针对面向对象分析和设计的一个扩展和延伸,对技术架构进行了分层规划,同时对每个类进行了策略和类型的划分。领域模
转载
2023-09-12 16:44:26
75阅读
一.获取UUIDUUID uuid = UUID.randomUUID();
String str = uuid.toString();
// 去掉“-”
String s = str.replaceAll("-", "");二.获取固定格式的时间字符串第一种
//获取当前时间对象
Date d = new Date();
//创建日期格式化类对象,”yyyy/MM/dd HH:mm:ss”是我
转载
2023-08-02 00:45:51
225阅读
Java中的Drag and Drop详解与代码示例
我最近对对Java中的Drag and Drop做了一个总结, 觉得大致可以通过两种方法实现Drag and Drop:
1.比较初级的D&D:只利用java.awt.datatransfer.*中的类实现.
2.高级D&D: 利用javax.awt.dnd.*中的类实现.
比较初级D&D:只利用java.awt
转载
2023-10-14 19:03:14
64阅读
接上篇《DDD 实战 (10):冲刺 1 战术之服务设计(下)及技术决策》后,我们接下来的重点,就是要展示真正的代码实现了。在本篇中,我将围绕 TDD(Test-driven development, 测试驱动开发)编程方法为核心,演示前面完成的相关 DDD 设计是如何落地的。在本篇中,我将首先介绍 TDD 三重奏(写测试-写功能-重构)和相关原则,然后用实际代码演示 TDD 的工作流程,最后我会
转载1.一个微服务+DDD(领域驱动设计)的代码结构示例
原创
2022-06-27 11:25:49
206阅读
【DDD】领域驱动设计实践 —— 框架实现目录【DDD】领域驱动设计实践 —— 框架实现1. 框架实现图2. 框架详述User Interface层dtocontrollerapplication层serviceassemblerdomain层domain entitydomain value objectdomain factorydomain servicedomain eventreposi
作者:张晓龙引言在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识。DDDDDD(Domain DrivenDesign,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型。在正确实现的情况下,我们通过DDD完成的设计恰恰就是软件的工作方式。UL(Ubiquitous Language,通用语言)是团队共享的语言,是DDD中最具威力的特性之一。不管你在
Aggregate Framework概述Aggregate Framework是为方便开发人员运用DDD和CQRS思想来构建复杂的、可扩展的Java企业应用系统而提供的Java技术框架。该框架提供了Aggregate、Repository、Domain Event等构建块的实现;使用DomainEvent,借助于内建的Disruptor组件,AggregateFramework可使开发人员方便的
转载
2024-04-02 10:17:50
126阅读
1.从上面2张图,可以直观的看出来,ddd可以调用的程度更大,上层可以直接调用下层的 全部层2.直接分析,ddd每层 都 放什么东西,和mvc的 放法有什么区别,知道了ddd每层放什么,又知道了每层 可以调下面 所有层,那么写代码,建立的包放哪,怎么建包,以及 哪个包 可以 调 哪些包的内容,就知道了,就可以放心写代码了,就行了DDD 代码架构层次上分为四层 • api:用户接口层,向外提供服务
转载
2023-09-15 15:27:25
161阅读
DDD(Domain-Driven Design,中文名领域模型设计)是一种软件开发方法论,它强调将业务领域中的知识融入到软件设计中。DDD 强调将软件开发过程分为两个主要阶段:领域分析和领域建模。领域分析是指深入了解业务领域中的问题和需求,领域建模是将分析出的领域知识转化为软件模型。在本文中,我不再过多说明DDD的来龙去脉,我将用多个例子来详细说明使用 DDD 和不使用 DDD 的区别、优势和劣
01.基础知识。 什么是软件?一系列按照特定顺序组织的计算机数据和指令的集合。 什么是开发?制作软件。 人机交互:软件的出现实现了人与计算机之间更好的交互。 交互方式:图形化界面(容易上手),命令行方式(较为麻烦)。 命令行方式:课程中常见的命令: dir:列出当前目录下的文件以及文件夹。 md:创建目录(文件夹)。 rd:删除目录(文件夹)。 cd:进入目录(文件夹)。 cd..:退出当前目录。
转载
2023-11-29 14:30:49
20阅读
简单的代码!踢足球很简单,难的是踢简单的足球。— 克鲁伊夫如果我们将这句话用到编程上,我们可以说;写代码很简单,难的是写简单的代码。什么是领域驱动设计?领域驱动设计(DDD)是一种软件开发方法,通过将实现结合不断发展的模型来满足复杂的需求。DDD适用于复杂的领域和大规模的应用程序,而不是简单的CRUD应用程序。它专注于核心领域逻辑,而不是基础设施细节。它有助于构建灵活、模块化和可维护的代码库。OO
转载
2024-02-08 22:55:22
32阅读
JVM 数据类型Java是静态类型的,它会影响字节码指令的设计,这样指令就会期望自己对特定类型的值进行操作。例如,就会有好几个add指令用于两个数字相加:iadd、ladd、fadd、dadd。他们期望类型的操作数分别是int、long、float和double。大多数字节码都有这样的特性,它具有不同形式的相同功能,这取决于操作数类型。JVM定义的数据类型包括:基本类型:数值类型: by
转载
2023-07-14 17:24:02
122阅读
大约4年前,2017年底的时候,那时刚开始工作实习,武哥让我了解了解DDD,写了这篇Blog:【架构设计 领域驱动开发 一】三层VSDDD,当时打算好好了解了解的,无奈水平不够,对这些概念也是一知半解的,所以了解也不深入,见解也不一定正确,工作4年多了,再次学习和比较下MVC和DDD吧。概念和代码组织区别什么是贫血MVC模型开发?什么是DDD充血模型开发?MVC贫血模型开发模式MVC 三层架构中的
转载
2023-11-20 14:41:33
77阅读
基本概念:领域驱动设计(简称 ddd)概念来源于2004年著名建模专家eric evans发表的他最具影响力的书籍:《domain-driven design –tackling complexity in the heart of software》(中文译名:领域驱动设计—软件核心复杂性应对之道)一书。,书中提出了“领域驱动设计(简称 ddd)”的概念。领域驱动设计一般分为两个阶段:
我们都知道行为驱动开发(BDD)。此类测试以对业务用户透明的方式描述了验收测试。JBehave是另一个用于BDD测试的Java测试框架,主要与SeleniumWebDriverforJava一起使用。使用JBehave的主要目的是使新手更容易理解和熟悉BDD。这是一种设计理念,它使应用程序的测试阶段更多地基于其行为。有哪些先决条件?使用JBehave的理想方法是与IDE集成。为此,除了必要的运行环
转载
2024-02-02 13:29:43
8阅读
概述去年4月份入职后第一次了解到DDD,当时觉得很晦涩(现在来看应该是红皮书将战略设计放在前半部分的缘由)。今年4月份的时候想学学系统设计方面的知识,便开始静下心来好好研究了两个月,感觉收益颇多。DDD是什么DDD是一种'面向对象'的软件设计思想。领域驱动设计DDD作为一种软件设计方式, 有利于创造一个可测试的、可伸缩的、组织良好的软件模型贫血症与失忆症写Java差不多刚好两年, 接触过的项目中,
转载
2023-08-31 09:47:58
67阅读