20190101.DDD笔记】的更多相关文章

建立领域模型步骤 根据提供的信息完善主要业务场景和业务流程: 根据业务流程识别领域事件并按照时序排列: 针对领域事件进行命令识别: 针对领域事件和命令进行聚合和子域的初步识别: 在识别的subdomain中识别实体.值对象.实体间关系.调整聚合关系: 针对领域模型识别限界上下文(Bounded Context). 三原则 Focus on your core domain. Core domain:存在差异性竞争力的业务 Iteratively explore models. 方法:通过实践和软…
问题背景 MySql(InnoDB)中的订单表需要按时间顺序分页查询,且主键不是时间维度递增,订单表在百万以上规模,此时如何高效地实现该需求? 注:本文并非主要讲解如何建立索引,以下的分析均建立在有合适的索引的前提下 初步方案1 众所周知,MySql中,有一个limit offset, pageSize的用法,可以实现分页查询 select * from order where user_id = xxx and [其它业务条件] order by created_time, id limit…
一.Why DDD? 在加入X公司后,开始了ASP.NET Core+Docker+Linux的技术实践,也开始了微服务架构的实践.在微服务的学习中,有一本微软官方出品的<.NET微服务:容器化.NET应用架构指南>是我们学习的葵花宝典,纵观微软官方放出来的Demo项目的演变历史(可以参见杨晓东<我眼中的ASP.NET Core微服务>一文): (1)PetShop:WebForm 的示例程序.典型的三层架构风格的应用程序. (2)MusicStore: 针对于 MVC3~5 框架…
文章链接: https://www.cnblogs.com/xishuai/p/how-to-implement-ddd.html 文章作者: 田园里的蟋蟀 首先感谢作者写出这么好的文章. 以下是我的阅读笔记: 1.进行战略建模时不要考虑技术性的东西,不要考虑战术建模的概念,需要搞清楚业务,搞清楚业务的核心,把业务核心功能描述出来.如文章中举例,微博的评论提到功能,描述其业务:评论时@一个人,然后通知被@的人核心业务是两个:1.匹配到@的人,2.通知@的人 2.作者把Mention,即“提到”作…
回到目录 Redis本身支持事务,这就是SQL数据库有Transaction一样,而Redis的驱动也支持事务,这在ServiceStack.Redis就有所体现,它也是目前最受业界认可的Redis驱动,而它将Redis的事务机制(MULTI,Exec,Watch等)封装成了比较友好的实现方式,如下面的代码 using (IRedisClient RClient = prcm.GetClient()) { using (IRedisTransaction IRT = RClient.Creat…
参考:感谢博主的分享... http://www.cnblogs.com/netfocus/archive/2012/02/12/2347938.html DDD ==> 领域驱动设计(Domain-driven Design) 一种模型驱动的软件设计方式 驱动方式: 数据库驱动:(分析需求-->建库建表-->代码) 领域驱动:分析领域问题/需求-->领域模型-->实现软件代码 领域驱动的核心为领域模型,领域驱动模型,模型驱动代码实现. 领域——问题域 领域驱动应该由开发人员…
由于也是初学DDD,难免有很多不足和认识错误的地方.多数内容来自其他网络资料或者书籍. 参考:http://www.cnblogs.com/Leo_wl/p/4418663.html 希望多多提出宝贵意见,谢谢!!! DDD是一套强大的思想工具,是需要根据业务进行划分领域的,无论是否使用领域——对于公共的或独立的内容都是需要抽象出来的,避免重复造轮子. DDD可以应用于很多中不同的架构中,如:六边形架构.SOA.REST.CQRS.事件驱动架构和基于数据网络的架构等等. REST==>来自百度百…
  最近在看<领域驱动设计>这本书,准备写点学习笔记博文记录系列.记录本书中的要点和疑惑,不定期更新!先放张MarginNote的图: Aggregate  每个Aggregate 都有一个根(Root)和一个边界(boundary).边界定义了Aggregate的内部都有什么,根则是Aggregate 中所包含的一个特定 Entity.在Aggregate 中,根是唯一允许外部对象保持对它的引用的元素,而边界内部的对象之间则可以互相引用.除根以外的其他Entity都有本地标识,但这些标识只有…
新旧架构对比图: DDD中的基础设施层包括数据持久化(ORM数据访问),IoC容器实现,AOP实现(安全,日志记录,缓存等) Repository的接口通常放在领域层,具体实现在基础设施层 旧架构的业务层被分成应用程序层和领域层…
最近开始筹备一个电商项目. 其实是公司的老本行了. 但今年公司希望在做项目的同时, 沉淀出一套针对电商的基础产品. 这样可以提高新项目的开发效率, 减少重复劳动. 那现如今, DDD(领域驱动设计)应该是比较受推崇的. 所以在这个项目里, 大家决定用DDD来设计系统与抽象业务. 我是十分懵逼的. 只能抓紧时间恶补了. 一开始请教度娘, 看了很多播客, 然而看完之后还是懵逼, 并没有获取到什么有效的知识. 少有的两篇结合能结合实际例子, 上点代码. 然而代码的简易程度也是幼稚的可怜. 这条路看来不…