zl程序教程

领域驱动设计-下

  • 报名 | 美团技术沙龙:基于领域驱动设计(DDD)的架构演进和实践

    报名 | 美团技术沙龙:基于领域驱动设计(DDD)的架构演进和实践

    【美团技术沙龙】由美团技术团队和美团科协主办,每期沙龙邀请美团及其他互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。从2015年7月举办第一期至今,已经吸引了三万多名工程师参会。2020年9月起,美团技术沙龙开始组织一系列学术活动,包括顶会论文分享、学术热点研讨等,邀请产业界、学术界共同探讨前沿问题。活动时间:2022年08月27日 14:00 - 17:30活动地址:活动开始之前

    日期 2023-06-12 10:48:40     
  • 国外经典神作:领域驱动设计软件核心复杂性应对之道手册限时阅读

    国外经典神作:领域驱动设计软件核心复杂性应对之道手册限时阅读

    相信领域驱动设计这个对有些小伙伴来说很陌生,领域驱动设计(Domain Driven Design,DDD)自诞生以来已有十几年时间,这门本已步入老年的方法学却因为微服务的兴起而焕发了第二春。并不是微服务拯救了领域驱动设计,是因为领域驱动设计一直在坚硬的生长,然而看起来,确乎因为微服务,领域驱动设计才又焕发了青春。今天给大家介绍的这本书是有国外大神Eric Evans所著的,堪称最为经典“领域驱动

    日期 2023-06-12 10:48:40     
  • P8架构师都要懂的微服务架构深度解析:微服务构建,领域驱动设计

    P8架构师都要懂的微服务架构深度解析:微服务构建,领域驱动设计

    微服务构建本质上是软件构建过程中长期演进积累的一系列理念、架构原则、工具和最佳实践。领域驱动设计的软件思想体系和方法论可以用于指导微服务建模、微服务划分、微服务架构设计等相关工作,它可以促使技术人员与领域专家达成共识,构建领域边界合理、具备明确界限上下文、关注点分离、独立自治的微服务。 领域驱动设计领域驱动设计概述领域驱动设计(Domain Driven Design)概念的兴起可以追溯到1986

    日期 2023-06-12 10:48:40     
  • [答疑]《实现领域驱动设计》的译者其实没错?(二)

    [答疑]《实现领域驱动设计》的译者其实没错?(二)

    [答疑]《实现领域驱动设计》的译者其实没错?(一)>>(4)原文:If so, is there some practical limit to the number of objects that should be allowed to reside in the graph?中译本译文:如果是这样,对于存在于这个树中的对象有没有一个实用的数目限制?我的剖析:这句的问题,主要还是之

    日期 2023-06-12 10:48:40     
  • [答疑]《实现领域驱动设计》的译者其实没错?(一)

    [答疑]《实现领域驱动设计》的译者其实没错?(一)

    DDD领域驱动设计批评文集>>《软件方法》强化自测题集>>《软件方法》各章合集>>Jasmine 2022-8-7 19:54有一个地方想和您商榷,这张图上说对象树是译者的臆想,我觉得译者译成对象树也对,因为聚合根和其他对象是一对多关系,您觉得呢?******以下不属于问题内容,属于回答者补充的背景:此图摘自我写的《DDD话语批评之一:评张逸的“状态和事件本质相

    日期 2023-06-12 10:48:40     
  • 幻灯片04-剔除“伪创新” 的领域驱动设计-领域建模结构部分Part3

    幻灯片04-剔除“伪创新” 的领域驱动设计-领域建模结构部分Part3

    DDD领域驱动设计批评文集>>《软件方法》强化自测题集>>《软件方法》各章合集>>pdf文件下载:http://umlchina.com/training/umlchina_ddd_02_domainmodeling_structure.pdf[推荐升级]23套UML+EA和StarUML的建模示范视频-全程字幕(2022.6.1更新)7月7-10晚网课:软件需

    日期 2023-06-12 10:48:40     
  • DDD领域驱动设计在微服务架构的应用

    DDD领域驱动设计在微服务架构的应用

    DDD领域驱动设计在微服务架构的应用前言我们都自诩面向对象编程,OOP思想更是熟读于心,然而随着业务日益复杂,代码越来越臃肿,这时感觉之前面向对象的理论也毫无用武之地。到底哪个环节出问题了?笔者认为造成这种局面的原因很大程度是我们忽视了业务建模和设计的重要性。我们通常启动一个项目后,架构师等技术人员会拿到产品人员的产品需求然后开始各种建模、各种拆分,也是在技术内部形成共识和就进入实施阶段。这实际就

    日期 2023-06-12 10:48:40     
  • 数据库重构与领域驱动设计

    数据库重构与领域驱动设计

    一、数据库重构经典实践创建数据库schema的数据库定义语言DDL脚本数据加载/抽取/迁移的脚本数据模型文件对象/关系映射元数据参考数据存储过程和触发器定义视图定义参照完整性约束其他数据库对象,如序列、索引等测试数据测试数据产生脚本测试脚本二、软件开发面临的问题三、企业应用开发面临的复杂性四、认识领域,使用领域驱动设计降低复杂度模型驱动设计的构造块分离领域 (1)分层的价值,每一层都只代表程序中某

    日期 2023-06-12 10:48:40     
  • DDD领域驱动设计落地实践系列:初识DDD

    DDD领域驱动设计落地实践系列:初识DDD

    引言 笔者在经历的很多项目中都使用了DDD领域驱动设计进行架构设计,尤其是在业务梳理、中台规划以及微服务划分等方面,DDD是重要的架构设计方法论,对平时的架构设计有非常好的指导作用。从本文开始笔者将通过一系列的文章阐述自己对于DDD的理解以及如何在项目实战中落地实践DDD。本文作为系列文章的开端,主要和大家聊聊DDD的一些基本概念以及使用背景。DDD到底是何方神圣?软件设计方式

    日期 2023-06-12 10:48:40     
  • 04期:领域驱动设计与微服务

    04期:领域驱动设计与微服务

    这里记录的是学习分享内容,文章维护在 Github:studeyang/leanrning-share。如何理解领域驱动设计?随着微服务的兴起,你一定听说过领域驱动设计 DDD(domain-driven design),但是如果把它当成一个术语来看,似乎有点抽象。这到底是个什么玩意?别急,你肯定还听说过测试驱动开发(TDD, Test-driven development)吧?这是个什么概念呢?

    日期 2023-06-12 10:48:40     
  • 企业架构与领域驱动设计的融合

    企业架构与领域驱动设计的融合

    DDD的作用范围主要还是针对系统级的分析、架构与设计,在更高的层面上,即将问题空间扩大到超过系统范围,变成企业或组织范围之后,DDD的模式就显得捉襟见肘了。此时,可以考虑引入企业架构的思想,尤其是业务架构的内容,给了DDD很好的补充,又或者说,将企业架构与DDD融合起来,就能真正串联起战略和战术设计了。为什么在传统企业中,DDD开始得到了许多企业的追捧?不仅仅是微服务的原因,就我个人不成熟的判断,

    日期 2023-06-12 10:48:40     
  • 领域驱动设计随感录

    领域驱动设计随感录

    本文内容来自我发表在知识星球[NoDDD]中的一些片段感想,随手而记,记录思想片段,皆是针对领域驱动设计的感悟,因为不成体系,故而名为随感录。1有时候在技术上确定限界上下文的边界反而是一件容易的事,不过就是按照DDD的设计思想依势而为罢了。虽然有by experience的因素,然则好歹是架构师可以掌控的。真正难以控制边界的,其实是团队的边界和思维的边界。要让团队成员能够放开自己的利己主义思想,愿

    日期 2023-06-12 10:48:40     
  • 【华为云技术分享】如何设计高质量软件-领域驱动设计DDD(Domain-Driven Design)学习心得

    【华为云技术分享】如何设计高质量软件-领域驱动设计DDD(Domain-Driven Design)学习心得

    DDD做为软件设计方法于2004年提出,一直不温不火,最近几年突然火起来了,为啥呢?正所谓机会给有准备的人,因为微服务的流行,大家都跃跃欲试把传统单体软件转成微服务架构,但理论很丰满,现实很骨感,光是分解微服务就让人找不到北,而DDD是歪打正着也好,富有远见也好,正好适合微服务转型设计,不火都难。 最近学

    日期 2023-06-12 10:48:40     
  • DDD领域驱动设计基本理论知识总结

    DDD领域驱动设计基本理论知识总结

    领域驱动设计之领域模型 加一个导航,关于如何设计聚合的详细思考,见这篇文章。 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD。领域驱动设计分为两个阶段: 以一种领域专家、设计人员、开发人员都能理解的通用语言作为相互交流的工具,在交

    日期 2023-06-12 10:48:40     
  • 解构领域驱动设计(三):领域驱动设计

    解构领域驱动设计(三):领域驱动设计

    在上一部分,分层架构的目的是为了将业务规则剥离出来在单独的领域层中进行实现。再回顾一下领域驱动设计的分层中应用层代码的实现。 @Override public void pay(int orderId, float amount) { DesignerOrder order = designerOrderRepository.selectByKey(orderId); // 领域对

    日期 2023-06-12 10:48:40     
  • 解构领域驱动设计(一):为什么DDD能够解决软件复杂性

    解构领域驱动设计(一):为什么DDD能够解决软件复杂性

    1 为什么我要研究领域驱动设计 1.1 设计方法各样且代码无法反映设计 我大概从2017年10月份开始研究DDD,当时在一家物流信息化的公司任职架构师,研究DDD的初衷在于为团队寻找一种软件设计的方法论。作为架构师,经常参与设计评审,包括:需求评审、设计评审、代码评审。在评审过程中,有一点感受非常深,就是评审过程非常痛苦且几乎没有效率和成果。让我痛苦的地方有: 每一个系统分析师都是基于自己的方

    日期 2023-06-12 10:48:40     
  • 领域驱动设计(DDD)的实践经验分享之ORM的思考

    领域驱动设计(DDD)的实践经验分享之ORM的思考

    最近一直对DDD(Domain Driven Design)很感兴趣,于是去网上找了一些文章来看看,发现它确实是个好东西。于是我去买了两本关于领域驱动设计的书本和一本企业应用架构模式的书。看了之后也掌握了一些理论基础。但总感觉需要通过做一个实际项目来测试自己所学到的知识。因为以前我开发过一个叫做“蜘蛛侠论坛”的网站,官方演示地址:http://www.entityspider.com/(论坛目前已

    日期 2023-06-12 10:48:40     
  • 关于DDD领域驱动设计的理论知识收集汇总

    关于DDD领域驱动设计的理论知识收集汇总

    最近一直在学习领域驱动设计(DDD)的理论知识,从网上搜集了一些个人认为比较有价值的东西,贴出来和大家分享一下: 我一直觉得不要盲目相信权威,比如不能一谈起领域驱动设计,就一定认为国外的那个Eric Evans写的那本书中的一些概念就一定是正确的,认为领域驱动设计就一定是聚合,聚合根,实体,值对象等概念。我们要有自己的思想,要有自己判断真正的领域模型该是什么样子的勇气和追求。 "领域驱动设计"

    日期 2023-06-12 10:48:40     
  • 关于领域驱动设计(DDD)中聚合设计的一些思考

    关于领域驱动设计(DDD)中聚合设计的一些思考

    关于DDD的理论知识总结,可参考这篇文章。 DDD社区官网上一篇关于聚合设计的几个原则的简单讨论: 文章地址:http://dddcommunity.org/library/vernon_2011/,该地址中包含了一篇关于介绍如何有效的设计聚合的一些原则,共3个pdf文件。该文章中指出了以下几个聚合设计的原则: 聚合是用来封装真正的不变性,而不是简单的将对象组合在一起; 聚合应尽量设计的小

    日期 2023-06-12 10:48:40     
  • DDD领域驱动设计基本理论知识总结

    DDD领域驱动设计基本理论知识总结

    领域驱动设计之领域模型 加一个导航,关于如何设计聚合的详细思考,见这篇文章。 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD。领域驱动设计分为两个阶段: 以一种领域专家、设计人员、开发人员都能理解的通用语言作为相互交流的工具,在交

    日期 2023-06-12 10:48:40     
  • DDD 领域驱动模型设计中的分层架构

    DDD 领域驱动模型设计中的分层架构

    在分解复杂的软件系统时,分层是我们最常用的手段之一。然而,在领域驱动设计中,层次和包的划分看起来与我们的结构又有一定区别,本文主要讨论DDD中的分层架构及每层的意义,以及与传统的三层架构的区别。 1. 为什么要分层 软件设计中分层的设计随处可见,但是分层能带来什么好处呢?或者说,我们为什么要考虑分层架构呢? 由于现实世界的复杂性,分层可以提供一个相对

    日期 2023-06-12 10:48:40     
  • DDD领域驱动设计基本理论知识总结

    DDD领域驱动设计基本理论知识总结

    转载:https://www.cnblogs.com/netfocus/archive/2011/10/10/2204949.html   领域驱动设计的核心是建立正确的领域模型。 为什么建立一个领域模型是重要的 领域驱动设计告诉我们,在通过软件实现一个业务系统时,建立一个领域模型是非常重要和必要的,因为领域模型具有以下特点: 领域模型是对具有某个边界的领域的一个抽象,反映了领域内用

    日期 2023-06-12 10:48:40     
  • [转] .NET领域驱动设计—初尝(原则、工具、过程、框架)

    [转] .NET领域驱动设计—初尝(原则、工具、过程、框架)

    阅读目录: 1.原则 1.1.精简聚合 1.2.分离用例与接口功能(设计模式的用武之地) 2.工具、框架、组件 3.过程 1】原则 原则对于任何一项技术实现来说都是至关重要的,在设计某一个系统功能的时候我们讲究的是设计原则: 【单一职责原则Single Responsibility Principle、里氏替换原则Liskov Substitution Principle、依赖倒置原则D

    日期 2023-06-12 10:48:40     
  • [转] DDD领域驱动设计框架分享

    [转] DDD领域驱动设计框架分享

    从去年10月份开始,学了几个月的领域驱动设计(Domain Driven Design,简称DDD)。主要是学习领域驱动设计之父Eric Evans的名著:《Domain-driven design:领域驱动设计:软件核心复杂性应对之道》,以及另外一本Martin Flower的《企业应用架构模式》,学习到了不少关于如何组织业务逻辑方面的知识。另外,在这个过程中也接触到了一些开源的架构和一些很好

    日期 2023-06-12 10:48:40     
  • 演进架构中的领域驱动设计

    演进架构中的领域驱动设计

    from:http://www.infoq.com/cn/articles/ddd-evolving-architecture   领域驱动设计能非常容易地应用于稳定领域,其中的关键活动适合开发人员对用户脑海中的内容进行记录和建模。但在领域本身不断变化和发展的情况下,领域驱动 设计变得更具有挑战性。这在敏捷项目中很普遍,在业务本身试图演进的时候也会发生。本文分析了在反思、重建gua

    日期 2023-06-12 10:48:40     
  • [转]领域驱动设计系列文章(2)——浅析VO、DTO、DO、PO的概念、区别和用处

    [转]领域驱动设计系列文章(2)——浅析VO、DTO、DO、PO的概念、区别和用处

    原文地址:http://www.blogjava.net/johnnylzb/archive/2010/05/27/321968.html 上一篇文章作为一个引子,说明了领域驱动设计的优势,从本篇文章开始,笔者将会结合自己的实际经验,谈及领域驱动设计的应用。本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进

    日期 2023-06-12 10:48:40     
  • 何时使用领域驱动设计

    何时使用领域驱动设计

    何时使用领域驱动设计?其实当你的应用程序架构设计是面向业务的时候,你已经开始使用领域驱动设计了。领域驱动设计既不是架构风格(Architecture Style),也不是架构模式(Architecture Pattern),它也不是一种软件开发方法论,所以,是否应该使用领域驱动设计,以及什么时候使用领域驱动设计,这个问题本身就比较复杂(或者说这并不是一个好问题)。或许,更精确的提问方式应该是:“

    日期 2023-06-12 10:48:40     
  • 《领域驱动设计:软件核心复杂性应对之道(修订版)》—第1章 1.2节知识消化

    《领域驱动设计:软件核心复杂性应对之道(修订版)》—第1章 1.2节知识消化

    金融分析师要消化理解的内容是数字。他们筛选大量的详细数字,对其进行组合和重组以便寻求潜在的意义,查找可以产生重要影响的简单表示方式——一种可用作金融决策基础的理解。 本节书摘来自异步社区《领域驱动设计:软件核心复杂性应对之道(修订版)》一书中的第1章,第1.2节知识消化,作者【美】埃里克•埃文斯(Eric Evans), 马利伟 , 万龙,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    日期 2023-06-12 10:48:40     
  • 《领域驱动设计:软件核心复杂性应对之道(修订版)》—第1章 1.3节持续学习

    《领域驱动设计:软件核心复杂性应对之道(修订版)》—第1章 1.3节持续学习

    当开始编写软件时,其实我们所知甚少。项目知识零散地分散在很多人和文档中,其中夹杂着其他一些无关信息,因此我们甚至不知道哪些知识是真正需要的知识。 本节书摘来自异步社区《领域驱动设计:软件核心复杂性应对之道(修订版)》一书中的第1章,第1.3节持续学习,作者【美】埃里克•埃文斯(Eric Evans), 马利伟 , 万龙,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.3 持续学习当

    日期 2023-06-12 10:48:40     
  • 《领域驱动设计:软件核心复杂性应对之道(修订版)》—第2章 2.3节一个团队,一种语言

    《领域驱动设计:软件核心复杂性应对之道(修订版)》—第2章 2.3节一个团队,一种语言

    有了Ubiquitous Language之后,开发人员之间的对话、领域专家之间的讨论以及代码本身所表达的内容都基于同一种语言,都来自于一个共享的领域模型。 本节书摘来自异步社区《领域驱动设计:软件核心复杂性应对之道(修订版)》一书中的第2章,第2.3节一个团队,一种语言,作者【美】埃里克•埃文斯(Eric Evans), 马利伟 , 万龙,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    日期 2023-06-12 10:48:40     
  • 领域驱动系列五模型驱动设计的构造块

    领域驱动系列五模型驱动设计的构造块

    一、简介 为了保证软件实现的简洁性,并且与模型保持一致,不管实际情况有多复杂,必须使用建模和设计的最佳实践,即让通过我们的编程技术(设计模型、指责驱动、契约式设计)充分地体现领域模型,并保持模型地健壮性和可扩展性,而不是单单地实现模型.某些决策设计能和模型紧紧地结合,这种结合要求我们注意每个元素地细节. 开发一个好的领域模型是一门艺术,而模型中的各个元素的实际设计和实现则相对系统化,将领域设计(

    日期 2023-06-12 10:48:40