首页 > TAG信息列表 > DDD
DDD实践问题之 - 关于论坛的帖子回复统计信息的更新的思考
原文来自:DDD实践问题之 - 关于论坛的帖子回复统计信息的更新的思考-阿里云开发者社区 (aliyun.com) 之前,在用ENode开发forum案例时,遇到了关于如何实现论坛帖子的回复的统计信息如何更新的问题。后来找到了自己认为比较合理的解决方案,分享给大家。也希望能和大家交流,擦出更多的对DDD使用的一些建议
群里经常看到类似于“看了DDD之后就不会写代码了”的情况,趁最近学车的间隙,写写我的看法。 关于这个事儿,我是觉得:当没有DDD的时候,如果你知道怎么做,那就那么做好了,不要考虑DDD。 当然不是说学了不用,而是在无法直接与实际做对应的情况下,先不要对应,慢慢来。这是一套方不容错过!什么是领域驱动设计?为什么落地这么难?
引言 领域驱动设计并不是新的架构设计理论,从Eric Evans提出至今已经有十多年历史。由于微服务架构的兴起,DDD常用于指导微服务边界划分,并重新广泛进入软件研发大众的视野。DDD的理念及应用普及在国外相对成熟,在国内尚处于初期发展阶段。国内的很多社区以及企业组织内部近几年对于DDDDD-领域驱动(三)-聚合与聚合根
概念 高内聚 , 高内聚合Aggregate 就好比一个功能,各个模块互相是有依赖关系存在,例如: 低耦合:模块可以任意替换,不会影响系统的工作 例如:比如你今天穿了这套衣服,明天穿了另一套衣服,但你任然是你自己!不会因为你换了衣服改变c语言中枚举类型
001、 #include <stdio.h> enum set01 {aaa, bbb, ccc, ddd}; // 表示一定整数值的集合的枚举类型。0, 1, 2, 3 int main(void) { printf("aaa: %d\n", aaa); printf("bbb: %d\n", bbb); printf("ccc: %d\n", ccc); printf(&quoDDD-领域驱动(四)-使用IMediator 实现领域事件
领域事件是指:一个领域中出触发的 集成事件是指:多个微服务之前产生的事件 引入:IMediator 包 第一个示例演示了使用MediatR使用请求/响应类型的操作。它期望对请求做出一些反应。使用 Send 发送 (注意:Send 只会执行一个扫到的Handler类) IRequest是指请求的响应是布尔响应。现在DDD-领域驱动(二)-贫血模型与充血模型
贫血模型 一般来说 贫血模型:**一个类中只有属性或者成员变量,没有方法 **!例如 DbFirst 从数据库同步实体过来, -- 对于一个系统刚开始的时候会觉得这时候是最舒服的,但是如果后期系统需要升级或者修改需求的时候,一团糟(例如:你在用户注册的时候判断名称是否重复,或者是否账号已经注册,DDD(三)DDD实战、贫血模型与充血模型
DDD(三)DDD实战、贫血模型与充血模型 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) 贫血模型与充血模型 1、贫血模型:一个类中只有属性或者成员变量,没有方法。 2、充血模型:一个类中既有属性、成员变量,也有方法。 需求:定义一个类保存用户的用DDD(一)微服务、领域驱动设计、领域模型
DDD(一)微服务、领域驱动设计、领域模型 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) 什么是微服务 单体结构项目 优点:结构简单,部署简单等 缺点:耦合;技术栈统一,软件包版本锁定;一崩全崩;升级周期长;无法局部扩容; 微服务结构项目DDD(二)聚合、聚合根、领域服务、应用服务、仓储”和“工作单元”、领域事件、集成事件
DDD(二)聚合、聚合根、领域服务、应用服务、仓储”和“工作单元”、领域事件、集成事件 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) DDD之聚合、聚合根 聚合(Aggregate) 1、目的:高内聚,低耦合。有关系的实体紧密协作,而关系很弱的实体被隔离DDD(领域驱动设计)思想解读及优秀实践 学习笔记 附上视频下载地址
DDD(领域驱动设计)思想解读及优秀实践 学习笔记 附上视频下载地址 随着全行业互联网化的深入,项目所涉及的业务越来越多样、精细、专业,普通的CRUD、传统架构模式与建模方法已无法满足市场需求。在此背景下,DDD思想再次受到大厂关注与欢迎。但是,市面上很多DDD课程不够落地,大家付出大量基于ABP实现DDD--仓储实践
由于软件系统中可能有着不同的数据库,不同的ORM,仓储思想的本质是解耦它们。在ABP中具体的实现仓储接口定义在领域层,实现在基础设施层。仓储接口被领域层(比如领域服务)和应用层用来访问数据库,操作聚合根,聚合根就是业务单元。这篇文章主要分析怎么通过规约将业务逻辑从仓储实现中剥css 虚线
// 横向虚线 .dash-horizontal { width: 100%; height: 1px; background-image: linear-gradient(to right, #ddd 0%, #ddd 50%, transparent 50%); background-size: 8px 1px; background-repeat: repeat-x; } // 竖向虚线 .dash-vertical { hei基于ABP实现DDD--仓储实践
由于软件系统中可能有着不同的数据库,不同的ORM,仓储思想的本质是解耦它们。在ABP中具体的实现仓储接口定义在领域层,实现在基础设施层。仓储接口被领域层(比如领域服务)和应用层用来访问数据库,操作聚合根,聚合根就是业务单元。这篇文章主要分析怎么通过规约将业务逻辑从仓储实现这几年落地的DDD,都是智商税和大忽悠?
牛B的人物,早已经厌倦了中英文混杂,他们更进一步,使用中英文缩写,对普通人进行降维打击。更厉害的,造就新的名词,并科普出去。 有几项技术,我从心底里鄙视和厌恶,但每次在技术方案中,都默默的把它们加进去,而且给足了它们分量。因为它们对于方案的成功与否,起着重要的概念性指导作用。它们就实现领域驱动设计 - 使用ABP框架 - 什么是领域驱动设计?
前言: 最近看到ABP官网的一本电子书,感觉写的很好,翻译出来,一起学习下 (Implementing Domain Driven Design) https://abp.io/books DDD简介 领域驱动设计(DDD)是一种通过将实现连接到演进的模型来实现复杂需求的软件开发方法 相对于简单的CRUD应用,DDD更适合于复杂的领域和大ddd
cx1.py参考代码: #encoding=utf-8 from random import * Passtr="0123456789abcdefghijklmnopqrstuvwxyz" def code(str): #生成6位密码 Pas="" for i in range(6): Pas += str[randint(0, len(str) - 1)] return Pas #循环判定密码输入的正确与否 Pas=基于.Net Core之DDD基础分层
项目基础分层 基础设施层 基础设施层使用的相关知识:Code First ,EF Core,Autofac依赖注入,仓储模式的实现接口,领域服务的实现接口,缓存,以及各种基础工具类 一,Code First:使用Code First 数据迁移到数据库。 常用的数据库迁移命令: Add-Migration 迁移名 —— 添加本次迁移 Up领域驱动设计实战-DDD
领域驱动设计实战 领域驱动(DDD,Domain Driven Design)为软件设计提供了一套完整的理论指导和落地实践,通过战略设计和战术设计,将技术实现与业务逻辑分离,来应对复杂的软件系统。本系列文章准备以实战的角度来介绍 DDD,首先编写领域驱动的代码模型,然后再基于代码模型,引入 DDD 的各项概DDD建模案例
燃气抄表计费场景每月末,燃气公司制定抄表计划并批量生成抄表任务,抄表任务通过工单的形式下发到抄表人员到客户现场抄表,抄表完成之后给客户应收账单,客户可以现场缴费或者延后通过在线自助缴费。下面以此案例描述建模步骤。 1 描述业务场景 用5W2H进行分析:用户(WHO)在什么环境(WHERE)下DDD 初了解之充血贫血
充血、贫血的介绍 开发系统需要从领域设计和数据库设计来说 第一步,通过用例模型设计来确定功能。第二步,领域模型设计,分析实体、属性、关系,用类图来实现。属性表示了对应数据的字段,类方法对应对数据的操作。接下来是数据库设计,这里可以设计为一层抽象层,替换为mysql、mongo等。那么DDD之实现领域事件(MediatR)
DDD之实现领域事件(MediatR) 领域事件:在同一个微服务内的聚合之间的事件传递。使用进程内的通信机制完成。 (1)C#的事件机制 var eventClass = new EventClass(); eventClass .事件+=eventClass_事件 eventClass.StartProcess(); 缺点:需要显式地注册。 (2)MediatR 进程内消息传递领域驱动模型DDD(二)——领域事件的订阅/发布实践
前言 凭良心来说,《微服务架构设计模式》此书什么都好,就是选用的业务过于庞大而导致代码连贯性太差,我作为读者来说对于其中采用的自研框架看起来味同嚼蜡,需要花费的学习成本实在是难以想象,不仅要对书中的内容进行了解,还要去学习作者框架用法,最可恶的是官方文档还写得十分简洁。 不领域驱动设计(2) 领域事件、DDD分层架构
领域事件 什么是领域事件 为什么需要领域事件 微服务场景下的领域事件 领域事件的实现 DDD的分层架构 DDD分层架构如何推动微服务演进 领域事件 什么是领域事件 在事件风暴过程中,会识别出命令、业务操作、实体等,此外还有事件。比如当业务人员的描述中出现类似“当完成...跨越DDD从理论到工程落地的鸿沟
摘要:本文从DDD的核心概念讲起,重点放在如何把理论落地成代码,期望给那些正在探索DDD的同学一些指引和启发。 本文分享自华为云社区《跨越DDD从理论到工程落地的鸿沟》,作者:敏捷小智。 DDD作为一种优秀的设计思想,的确为复杂业务治理带来了曙光。然而又因为DDD本身难以掌握,很容易造成DD