DDD架构之领域,聚合,实体,值对象
DDD架构之领域,聚合,实体,值对象Domain(领域)在DDD中,领域是指具体业务领域的知识、业务逻辑、数据以及业务规则的集合。它是软件要解决问题的业务环境,通常由一系列子领域组成,每个子领域代表业务中的一个特定部分。 领域的特性 业务中心:领域是围绕业务需求和业务规则构建的,它是软件设计的核心。 模型驱动:领域模型是对业务知识的抽象,它通过领域实体、值对象、服务、聚合等概念来表达。 语言一致性:领域模型的构建基于统一语言(Ubiquitous Language),这是开发团队与业务专家共同使用的语言,确保沟通无歧义。 边界清晰:领域模型定义了清晰的边界,这些边界划分了不同的子领域和聚合,有助于管理复杂性和维护性。 领域的用途业务逻辑的封装:领域模型封装了业务逻辑,使得业务规则和数据操作集中管理,便于理解和维护。沟通工具:领域模型作为开发团队与业务专家之间的共同语言,有助于提高沟通效率,确保软件开发紧密跟随业务需求。软件设计的基础:领域模型是软件设计的基础,它指导着软件的架构和实现。 实现手段 实体(Entity):具有唯一标识的领域对象,代表业务中的实体。 值对象(Value O ...
OpenAI SDK开发(1)
OpenAI SDK开发(1)本次完成的是基本框架的搭建,项目结构如下图所示: commonConstantscommon包下定义了Constants类,里面暂时写了一个枚举对象Role,是要用在Message中的一个参数,而Message在Request和Response中都有,所以放在common包下,后面会用到. 123456789101112131415161718192021222324252627public class Constants { /** * 官网支持的请求角色类型;system、user、assistant * https://platform.openai.com/docs/guides/chat/introduction */ public enum Role { SYSTEM("system"), USER("user"), ASSISTANT("assistant"), ; ...
西电计科微机原理实验二(详细注释版)
西电计科微机原理实验二(详细注释版)环境:VSCode+MASM/TASM插件(建议使用相同环境,学校机房环境有点老,可能会出一些奇怪的问题) 实验要求 输入一个不超过5位的十进制数,回车结束输入,并将其转换为二进制数,输出到屏幕上 输入非数字字符,报错,重新输入 输入q或Q,结束程序 输入字符串,空格结束输入,统计字符串中数字的个数 (选做) 基础版本(不做4)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 ...
西电计科微机原理实验一(详细注释版)
西电计科微机原理实验一(详细注释版)环境:VSCode+MASM/TASM插件(建议使用相同环境,学校机房环境有点老,可能会出一些奇怪的问题) 实验要求 打印Hello World! 打印输入的姓名 打印输入的id 将输入的字符转换成ASCII码 输入q或Q退出程序 代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615 ...
DDD是什么?
DDD是什么?DDD 是领域驱动设计(Domain-Driven Design)的缩写,这是一种主要软件开发方法,由 Eric Evans 在他的书《领域驱动设计:软件核心复杂性应对之道》(Domain-Driven Design: Tackling Complexity in the Heart of Software)中首次提出。 DDD 主要关注于创建与业务领域紧密相关的软件模型,以确保软件能够准确地解决实际问题。 DDD 的核心理念包括以下几个方面: 领域模型(Domain Model):领域模型是对特定业务领域知识的精确表述,它包括业务中的实体(Entities)、值对象(Value Objects)、服务(Services)、聚合(Aggregates)、聚合根(Aggregate Roots)等概念。领域模型是DDD的核心,它反映了业务专家的语言和决策。 统一语言(Ubiquitous Language):统一语言是开发团队与业务专家共同使用的语言,它在整个项目中保持一致。统一语言确保所有人都对业务概念有着相同的理解,减少沟通成本和误解。 限界上下文(Bounded ...
解决no main manifest attribute, in app.jar(Docker)
解决no main manifest attribute, in app.jar环境:SpringBoot2.6.13+java8 重点:pom.xml文件是IDEA自动配的 我在将一个SpringBoot程序打包成镜像部署到Docker容器上,然后执行run命令启动容器: 1docker run --rm springboot-test:1.0 springboot-test:1.0是我的镜像 出现报错:1no main manifest attribute, in app.jar我排查出来问题就在pom.xml文件中我画红线的这一句 改为下面这张图这样就好了 完整的pom.xml文件如下:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273<?xml version="1.0" encoding="UTF-8"?& ...