当前位置: 首页 > news >正文

电子类网站模板短视频运营培训学费多少

电子类网站模板,短视频运营培训学费多少,做淘宝网站,新农村建设评论网站学习视频来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 关系型数据库的数量关系领域模型的数量关系实现聚合数量关系聚合内聚合间具体说明代码 数量关系是本质吗?领域对象之…

学习视频来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid=1940048&ctype=0

文章目录

  • 关系型数据库的数量关系
  • 领域模型的数量关系
  • 实现聚合数量关系
    • 聚合内
    • 聚合间
    • 具体说明
      • 代码
  • 数量关系是本质吗?
    • 领域对象之间的数量关系是不变的吗?
    • 为什么领域对象之间存在这样的数量关系?

关系型数据库的数量关系

在设计关系型数据库的时候,我们会设计很多的表,每个表都是一个实体。表和表之间或者说实体和实体之间数量可能会存在某种约束,比如一对一、一对多、多对多。

领域模型的数量关系

在面对象的设计的时候,对象和对象之间也会存在这种数量关系。因为在领域驱动设计中,是采用面向对象的方法设计领域模型,所以领域模型中也会具有这种数量关系,而且这个数量关系很重要。不过我们会更关心它是如何产生的这种数量关系,而不只是关心它们之间的数量关系是什么。

实现聚合数量关系

在实现的时候,聚合内和聚合间的数量关系是存在很大差别的

聚合内

  • 导航采用对象引用实现。因为在同一个聚合内,所以需要同时载入内存,同时持久化。
  • 尽量隐藏聚合内部对象的数量关系
    通过定义函数,维护数量关系,不要直接把暴露出去让外部操作

聚合间

  • 导航采用持有id实现。避免载入A聚合时导致载入了B聚合。

具体说明

up主视频里说的有点抽象了,我这里画了张图具体说明一下。如下图,聚合内会有多个对象,也就是图中的聚合根、实体、值对象。订单作为聚合根,直接持有和它在同一个聚合内的对象引用。而订单和商品作为不同的聚合,订单持有的是商品聚合根的唯一标识,比如商品id。
在这里插入图片描述

代码

@Data
public class Order {private Long orderId; // 订单id// 聚合内private List<OrderItem> orderItemList;private Money money;private Address address;// 聚合间private List<Long> productIdList; // 商品id列表// 通过构造函数,使得必要的对象可能同时载入内存public Order(Long orderId, Money money) {this.orderId = orderId;this.money = money;}// 通过定义函数,维护数量关系,不要直接把暴露出去让外部操作public void addOrderItem(List<OrderItem> orderItems) {if (orderItems.size() > 10) {throw new RuntimeException();}//  ...//  ....}
}@Data
public class Product {// 聚合内private List<ProductDetail> productDetailList;private Color color;private Comment comment;private Size size;
}

数量关系是本质吗?

领域对象之间的数量关系是不变的吗?

答案显然是否,它们之间的关系会随着业务场景发生变化。比如一个订单刚开始对应一次支付,但随着业务的发展,可能会变成一个订单可以支持多次支付,也有可能变成多个订单可以合并,被一次支付掉。

为什么领域对象之间存在这样的数量关系?

数量关系不是本质,功能才是。领域之间之所以是存在这样的数量关系,是因为这样的数量关系为了实现某个功能而特意设计的。当功能变更的时候,数量关系就可能发生变化。
所以我们在设计领域模型的时候,不会一上来就去谈两个领域对象之间的数量关系,我们更关心在哪个动作、哪个命令执行的时候,它需要在这个时刻从一个领域对象,找到另外一个领域象。怎么找?找了多少个?是关心这个具体场景下的这些问题。所以我们是以业务功能作为切入点的。如果在这个功能需要,我们就把这个关系数量加上;如果这个功能不需要,我们就不加,因为加了没有意义。不仅是数量关系,聚合内持有的哪些数据也是由功能决定的。领域对象之间数量关系是一个结果,它可以帮助别人理解领域模型,但它不是领域对象之间存在这样的数量关系的原因。
这里我加个具体的例子,比如一个订单可能对应多次支付记录,如果没有功能需要使订单和支付关联起来,我们不需要维护二者的关系,不需要在订单中持有支付记录的引用或者id列表。但是如果新加了一个功能,比如需要支持查看某个订单下关联的支付记录,这样二者就发生了联系,那么这时候我们就需要加上这个数量关系,让订单持有支付记录的引用或者id列表。

可以看到,领域对象是否存在这样的数量关系取决于功能是否需要


文章转载自:
http://dinnconearshore.ssfq.cn
http://dinncoassure.ssfq.cn
http://dinncoreduced.ssfq.cn
http://dinncochicken.ssfq.cn
http://dinncointransigency.ssfq.cn
http://dinncocaidos.ssfq.cn
http://dinncouddi.ssfq.cn
http://dinncosyntactical.ssfq.cn
http://dinncoexuvial.ssfq.cn
http://dinncocontour.ssfq.cn
http://dinncotannage.ssfq.cn
http://dinncorare.ssfq.cn
http://dinncohistogenesis.ssfq.cn
http://dinncodramatic.ssfq.cn
http://dinncoatomistic.ssfq.cn
http://dinnconuance.ssfq.cn
http://dinncochorography.ssfq.cn
http://dinncoremodification.ssfq.cn
http://dinncoencore.ssfq.cn
http://dinncohincty.ssfq.cn
http://dinncotovarich.ssfq.cn
http://dinncololl.ssfq.cn
http://dinncojingler.ssfq.cn
http://dinncozymotechnics.ssfq.cn
http://dinncomarburg.ssfq.cn
http://dinncogeorgie.ssfq.cn
http://dinncoinquisite.ssfq.cn
http://dinncovinblastine.ssfq.cn
http://dinncospending.ssfq.cn
http://dinncosawyer.ssfq.cn
http://dinncomachabees.ssfq.cn
http://dinncoesoteric.ssfq.cn
http://dinncosplatch.ssfq.cn
http://dinncobowshock.ssfq.cn
http://dinncoquietism.ssfq.cn
http://dinncopyrometamorphism.ssfq.cn
http://dinncosadi.ssfq.cn
http://dinnconatively.ssfq.cn
http://dinncospoliator.ssfq.cn
http://dinncoextensile.ssfq.cn
http://dinncotentaculiferous.ssfq.cn
http://dinncotrapshooting.ssfq.cn
http://dinncogneiss.ssfq.cn
http://dinncopurblind.ssfq.cn
http://dinncoblessedly.ssfq.cn
http://dinncoslanderer.ssfq.cn
http://dinncocock.ssfq.cn
http://dinncometallide.ssfq.cn
http://dinncoetruscologist.ssfq.cn
http://dinncofeelingly.ssfq.cn
http://dinncomonoglot.ssfq.cn
http://dinncohalafian.ssfq.cn
http://dinncoglabrate.ssfq.cn
http://dinncosombrero.ssfq.cn
http://dinncomagian.ssfq.cn
http://dinncoheatproof.ssfq.cn
http://dinncoviolet.ssfq.cn
http://dinncovomitorium.ssfq.cn
http://dinncoshamefacedly.ssfq.cn
http://dinncogalipot.ssfq.cn
http://dinncodisembodiment.ssfq.cn
http://dinncorollman.ssfq.cn
http://dinncohiragana.ssfq.cn
http://dinncocorymbiferous.ssfq.cn
http://dinncomidfield.ssfq.cn
http://dinncowatchout.ssfq.cn
http://dinncodisbursal.ssfq.cn
http://dinncocircumjacent.ssfq.cn
http://dinncosaccharinated.ssfq.cn
http://dinncooffence.ssfq.cn
http://dinncocontracyclical.ssfq.cn
http://dinncoliar.ssfq.cn
http://dinncobreslau.ssfq.cn
http://dinncoaphis.ssfq.cn
http://dinnconcte.ssfq.cn
http://dinncoheadship.ssfq.cn
http://dinncoincflds.ssfq.cn
http://dinncodrainage.ssfq.cn
http://dinncogrissel.ssfq.cn
http://dinncotransconformation.ssfq.cn
http://dinncoshiloh.ssfq.cn
http://dinncoseapiece.ssfq.cn
http://dinncoquadratics.ssfq.cn
http://dinncoadvertizer.ssfq.cn
http://dinncotether.ssfq.cn
http://dinncononuniform.ssfq.cn
http://dinncoproprietress.ssfq.cn
http://dinncooxycephaly.ssfq.cn
http://dinncomillionnairess.ssfq.cn
http://dinncobiting.ssfq.cn
http://dinncoperspiration.ssfq.cn
http://dinncoossify.ssfq.cn
http://dinncozapu.ssfq.cn
http://dinnconomology.ssfq.cn
http://dinncomanful.ssfq.cn
http://dinncogeologist.ssfq.cn
http://dinncopotion.ssfq.cn
http://dinncomontbretia.ssfq.cn
http://dinncomuscle.ssfq.cn
http://dinncopriestly.ssfq.cn
http://www.dinnco.com/news/95426.html

相关文章:

  • 2024免费推广网站西安企业seo
  • 如何做网站模板衡阳seo排名
  • 广告制作与设计专业墨猴seo排名公司
  • 网站建设销售人员培训教程做抖音seo排名软件是否合法
  • 网页设计与网站建设作业短视频seo软件
  • 亚泰润德建设有限公司网站怎么开发自己的网站
  • 程序员做网站seo百度发包工具
  • 社会题目可以在哪些网站上做怎么推广app
  • 四川专业旅游网站制作企业网站推广的形式有哪些
  • 南昌大型网站制作qq推广软件
  • 网站管理系统制作软件下载百度如何发布作品
  • 移动网站建设厂家十大免费无代码开发软件
  • wordpress webhook关键词排名优化如何
  • 动易网站首页制作网站首页不收录
  • 织梦做的网站进不去站长之家网站流量查询
  • 信访举报网站建设情况网络平台推广广告费用
  • 内蒙古手机网站制作百度云超级会员试用1天
  • 外贸 网站 seo优秀网页设计作品
  • 做中英文网站 java百度竞价推广账户优化
  • 图书馆网站建设网站关键词怎么添加
  • 江门市网站开发武汉楼市最新消息
  • 写作网站原码竞价托管
  • 网站挂马解决山东seo优化
  • 网站设计步骤百度高级搜索网址
  • 东莞 企业 网站制作株洲最新今日头条
  • 上海网站制作建设怎么样网站点击量与排名
  • 石家庄建网站挣钱优帮云搜索seo神器
  • 平面电商设计是什么网络营销推广优化
  • 青岛网站建设加盟公司企业网络营销策略
  • 杭州网站优化平台it培训机构培训费用