DDD起步

如果你每天在做增删改查,我想你很那明白DDD在说什么,我也经历了这个过程,设置热衷于各种代码生成,快速的应用开发;你也会热衷于各种分层MVCview-contoller-manager-service-dao,你或者还很闲搞了各种O,DO,BO,CO,DTO,甚至还把Service有分成了领域服务和应用服务,设置你还经常和人争论贫血模型和充血模型,天花乱坠,但当你认真思考的时候,你会发现,你真的不知道DDD到底有啥用,到底是啥。

当你的程序中,增删改查的代码占比微不足道的时候,当你甚至忘记DDD的存在的时候,你一定会思考,到底什么决定了程序的成败,到底什么最重要,这个过程我也经历了,好像程序的逻辑处理最终要,其他的层都是服务于逻辑,关键是逻辑之间怎么组织的。这个时候你要是看看【六边形架构】,一定很有共鸣,相见恨晚。

恩,你懂了逻辑重要,我们接着说,同样是一个人,现实生活中,你在公司你是一名雇员,在家庭中你是老公;计算机系统也是解决一定领域的问题,同样还是一个人如果你开发的薪水系统,你关心的是他的职位和薪水;如果是公安系统,你关心的是他有无案底;如果是检票系统,你关心的是他有无门票,同样的一个现实事物,你要看他在什么系统中,要分别设计,这就是DDD的【限界上下文】的概念。

当你分析清楚了你要处理的领域,现实世界就是【谁】和【做什么】的问题了;谁就是模型,做什么就是行为;如果一件事情要协调多个人来做,我们一般都会找个代理人,什么事情都找他就行,这个代理就是聚合根的概念,你不用一个个的找实体去做事,问聚合根就知道了,聚合根下有实体和值对象,他们的区别,说实话看场景,如果你只关心我想要用一支笔,能写字就行,那就是值对象;如果你就要你的那支喜欢的笔,哪怕同一型号的都不行,那就是实体;也就是值对象可替换,只关心功用,实体在乎的是生命周期,就算那支笔坏了,还是你那支喜欢的笔。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值