`
yinter
  • 浏览: 245014 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

领域驱动设计

    博客分类:
  • uml
阅读更多

    软件开发过程的重点:它必须以业务领域为中心。让模型植根于领域、并精确反映出领域中的基础概念是建立模型的一个最重要的基础。通用语言应该在建模过程中广泛尝试以推动软件专家和领域专家之间的沟通,以及发现要在模型中使用的主要的领域概念。建模过程的目的是创建一个优良的模型,下一步将模型实现成代码。这是软件开发过程中同等重要的两个阶段。创建了优良的模型,但却未能将其成功地转换成代码把软件的质量带入未知境地。

    曾经发生过软件分析人员和业务领域专家在一起工作了若干个月,一起发现了领域的基础元素,强调了元素之间的关系,创建了一个正确的模型,模型也正确捕获了领域知识。然后模型被传递给了软件开发人员。开发人员看模型时可能会发现模型中的有些概念或者关系不能被正确地转换成代码。所以他们使用模型作为灵感的源泉,创建了自己的设计,虽然某些设计借鉴了模型的思想,另外他们还增加了很多自己的东西。开发过程继续进行,更多的类被加入到代码中,进一步加大了原始模型和最终实现的差距。在这种情况下,很难保证产生优良的最终结果。优秀的开发人员可能会让一个产品最终交付使用,但它能经得起生产环境的考验吗?它能容易地被扩展吗?它能容易地被维护吗?

    任何领域都能被表现成多种模型,每一种模型都能用不同的方式表现成代码。对每一个特殊问题而言,可能会对应不止一个解决方案。选择一个能够被轻易和准确转换成代码的模型很重要。最根本的问题是:我们应该如何动手处理从模型到代码的转换。

    一个推荐的设计技巧是使用分析模型,它被认为是从代码设计中分离出来、通常是由多个人完成的。分析模型是业务领域分析的结果,其产生的模型不考虑软件需要如何实现。这样的一个模型可用来理解领域,它建立了特定级别的知识,模型看上去会很正确。软件不是这个阶段要考虑的,因为它的介入会被看作是一个导致混乱的因素。这个模型到达开发人员那里后,由他们来做设计的工作。因为这个模型没有涉及到设计原则,它可能不能很好地完成目标。因此开发人员不得不修改它,或者建立分离的设计。在模型和代码之间也不再存在映射关系。最终的结果是分析模型在编码开始后就被放弃了。
分享到:
评论

相关推荐

    领域驱动设计:软件核心复杂性应对之道

    领域驱动设计:软件核心复杂性应对之道领域驱动设计:软件核心复杂性应对之道领域驱动设计:软件核心复杂性应对之道领域驱动设计:软件核心复杂性应对之道领域驱动设计:软件核心复杂性应对之道领域驱动设计:软件...

    实现领域驱动设计(完整PDF版)

    DDD的全称为Domain-driven Design,即领域驱动设计。下面我从领域、问题域、领域模型、设计、驱动这几个词语的含义和联系的角度去阐述DDD是如何融入到我们平时的软件开发初期阶段的。要理解什么是领域驱动设计,首先...

    张逸-构建领域驱动设计知识体系_compressed.pdf

    ### 领域驱动设计(DDD)的知识体系构建 #### 一、领域驱动设计的历史回溯 **1.1 诞 生** - **里程碑之一**:2004年,Eric Evans出版了《领域驱动设计:软件核心复杂性应对之道》(Domain-Driven Design: Tackling...

    实现领域驱动设计(pdf)

    领域驱动设计(DDD)是教我们如何做好软件的,同时也是教我们如何更好地使用面向对象技术的。它为我们提供了设计软件的全新视角,同时也给开发者留下了一大难题:如何将领域驱动设计付诸实践?Vaughn Vernon 的这本...

    领域驱动设计案例-盒马实践

    领域驱动设计案例-盒马实践 本文将通过对盒马实践的领域驱动设计案例进行详细的分析,讨论领域模型的设计理念、数据建模、对象建模、依赖注入等方面的知识点。 领域模型的设计理念 领域模型是领域驱动设计的核心...

    领域驱动设计与模式实践.pdf

    领域驱动设计(DDD)的中心内容是如何将业务领域概念映射到软件工件中。大部分关于此主题的著作和文章都以Eric Evans的书《领域驱动设计》为基础,主要从概念和设计的角度探讨领域建模和设计情况。这些著作讨论实体...

    最新领域驱动设计(DDD)资料合集(23份).zip

    最新领域驱动设计(DDD)资料合集,共23份。 金融支付系统的改造之路 化繁为简--DDD驱动复杂业务软件架构的演进 基于DDD的领域建模中的模版和工具实践 基于FP的DDD实践 架构分层模型适配 可视化的遗留系统微服务...

    DDD领域驱动设计和中台实践资料合集25篇.zip

    DDD实战,领域驱动设计 DDD在旅游电商架构演进中的实践 Every Entity as A Microservice - 领域驱动设计DDD 分享我对领域驱动设计(DDD)的学习成果 化繁为简--DDD驱动复杂业务软件架构的演进 基于DDD的领域建模中的...

    实现领域驱动设计

    Vaughn Vernon 的这本《实现领域驱动设计》为我们给出了全面的解答。 《实现领域驱动设计》分别从战略和战术层面详尽地讨论了如何实现DDD,其中包含了大量的最佳实践、设计准则和对一些问题的折中性讨论。《实现领域...

    领域驱动设计和开发实战.pdf

    ### 领域驱动设计与开发实战:关键知识点解析 #### 一、领域驱动设计(DDD)概述 **领域驱动设计(Domain-Driven Design, DDD)**是一种以业务领域为核心的设计思想和技术方法,旨在通过深入理解业务领域,构建高...

    领域驱动设计.epub

    领域驱动设计 软件核心复杂性应对之道 修订版 epub电子书

    DDD领域驱动设计day01.pdf

    领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,由Eric Evans在其同名著作中提出,旨在帮助开发者更好地理解和处理复杂的业务逻辑,通过深入挖掘领域知识来构建高质量的软件系统。DDD的核心是...

    领域驱动设计.软件核心复杂性应对之道-3

    本书将设计和开发实践相结合,在介绍领域驱动设计时,还提供了大量的Java示例,这些例子都是从实际中提取出来的,展示了领域驱动设计在软件开发中的实际应用。 通过对本书的阅读,读者将获得对领域驱动设计的总体...

    领域驱动设计.mobi

    领域驱动设计.mobi,英文原文,适用于在kindle上阅读。

    领域驱动设计(简版和完整版)

    领域驱动设计(简版和完整版)领域驱动设计(简版和完整版)领域驱动设计(简版和完整版)领域驱动设计(简版和完整版)领域驱动设计(简版和完整版)领域驱动设计(简版和完整版)领域驱动设计(简版和完整版)领域...

    领域驱动模型(DDD).zip_ddd_领域模型_领域驱动_领域驱动设计

    领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法,它强调通过深入理解和建模业务领域来驱动软件的设计和开发。DDD的核心思想是将复杂的业务逻辑转化为可操作的软件模型,以此来提高软件的可维护性...

    深入浅出领域驱动设计

    ### 深入浅出领域驱动设计 #### 领域驱动设计概览 领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,专注于理解和塑造复杂的业务领域,通过建立高度精确且与业务紧密相关的软件模型来提高系统...

    《实现领域驱动设计》中的源码(java版 & C#版)

    《实现领域驱动设计》这本书是Eric Evans的经典之作,它深入探讨了如何在软件开发中运用领域驱动设计(Domain-Driven Design, DDD)方法论。DDD是一种将业务领域知识与软件开发紧密结合的设计策略,旨在提高复杂系统...

    DDD领域驱动设计学习框架简介PPT

    领域驱动设计(DDD)是一种软件开发方法,由Eric Evans在其同名著作《领域驱动设计》中提出。DDD致力于解决复杂业务系统的开发问题,通过将业务领域专家与开发人员紧密合作,将复杂的业务逻辑转化为可执行的软件模型...

    领域驱动设计.epub_ddd_

    领域驱动设计(Domain-Driven Design,简称DDD)是由软件开发专家Eric Evans在其2003年出版的同名书籍《领域驱动设计》中提出的一种软件开发方法论。它强调通过深入理解和表达业务领域的核心概念来驱动软件开发过程...

Global site tag (gtag.js) - Google Analytics