阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

从头开始实现领域驱动设计

  • 2013-11-04
  • 本文字数:735 字

    阅读完需:约 2 分钟

领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。Andras Nemes,一个在.NET 平台上开发 Web 应用的瑞典开发人员,发表了 10 篇博客介绍如何基于领域驱动设计的原则在.NET 平台上构建 Web 服务,在这个系列的第一篇他就给出了这番解释。

在技术驱动的方式中,很容易出现技术选择影响领域的情况。而在 DDD 中不会,领域是应用程序中最重要的组成部分,技术是实现细节,而实现可能会变。并且事情应该就是这样,Andras 相信,领域是响应业务需求的独立实体,并且领域中的变化可能会影响技术的选择。

Andras 明确指出他的目的不是覆盖 DDD 的方方面面和所有细节,他这里指的是 Eric Evans 写的那本 DDD 书 。他只是想为.NET 方案构建一个骨架,提炼出 DDD 中最重要的思想,给基于 DDD 的项目提供一个基础。他希望即便刚刚接触 DDD 的开发人员也能从中受益,因此所有用到的关键概念他都给出了解释。

他的目标是一个包含如下这些层次的解决方案:

  • 基础设施层: 在基础设施服务中解决交叉问题。
  • 存储层: 数据访问及持久化技术层。
  • 领域层: 领域层有业务实体和业务逻辑,是应用程序的中心。
  • 应用服务层: 提供对消费者的响应动作
  • Web 层: 应用程序的消费者

作为他穿越 DDD 之旅的开始,Andras 解释了 DDD 中一些主要的战术性概念,比如实体、值对象和聚合,同时给出了一些使用指南。然后在他的系列博客中逐一介绍如何构建最终构成整个程序的各层。

Andras 最后总结到 DDD 已经帮他减轻了比较传统的层次化解决方案中常见的紧耦合性,领域层现在是程序的中心了。他还想办法把受技术影响最大的存储层隐藏了起来,放在了一个可以替换的抽象层后面。

查看英文原文: Implementing With Domain-Driven Design from the Ground Up

2013-11-04 10:032583
用户头像

发布了 45 篇内容, 共 24.4 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

股权交易中心+区块链试点将开始

CECBC

防篡改 股权交易 可追溯 信息存证

正则表达式基础详解

懒猫

Java 正则表达式 大前端 正则

Redis系列(七):缓存只是读写回种这么简单吗?如果是,那么请你一定看看这篇文章!

z小赵

redis 分布式 高并发系统设计

Golang新手常犯错误之【循环迭代篇】

卓丁

常见错误 引用迭代 Go 语言

【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏

华为云开发者联盟

容器 层次 API 网关 华为云

高并发系统设计要点

南方有乔木兮

Java

[POJ 1002] 487-3279 C++解题报告

一直AC一直爽

POJ ACM

Java架构-Java代码规范那些事

我是苞谷

Java

week8 作业

Shawn

实战案例丨ModelArts在数据标注、数据过滤上的应用技巧:自动分组

华为云开发者联盟

人工智能 数据 图像识别 图片 分类

浅析区块链如何改变生活

CECBC

数字银行 供应链 身体监测 资产管理

一个好用的工作生活平衡方式

霍太稳@极客邦科技

Go: 通过代码学习 Map 的设计 — Part II

陈思敏捷

map Go 语言

区块链如何切入供应链金融市场?

CECBC

应用程序研发之基础知识分层与进化

superman

Unix路径是如何简化算法,架构师性能优化 John 易筋 ARTS 打卡 Week 10

John(易筋)

ARTS 打卡计划

设计模式之外观模式解析

Seven七哥

程序员 设计模式 外观模式

Kafka两个高性价比的参数调优

我是个bug

Java 大数据 kafka

华为云FusionInsight MRS融合大数据平台进阶之路

数据湖洞见

大数据 新特性 FusionInsight 华为云 智能数据湖

职场求生攻略答疑篇之 1 —— 加班沉思录

臧萌

程序员 加班

一文了解JDK12 13 14 GC调优秘籍-附PDF下载

程序那些事

GC JDK14 秘籍 JDK12 JDK13

ARTS WEEK6

紫枫

ARTS 打卡计划

架构师训练营第八周作业

张明森

推荐一款技术人必备的接口测试神器:Apifox

狂师

测试 测试驱动开发实战营 接口测试 测试框架

如何去学好JS的8条小建议

华为云开发者联盟

html 编程 大前端 js 代码

性能测试 + 操作系统 + 锁

鲁米

Java架构-不要成为项目风险的奴隶

我是苞谷

Java

LeetCode 1052. Grumpy Bookstore Owner

liu_liu

算法 LeetCode

安全系列之——RSA的前世今生

诸葛小猿

安全 加密解密 非对称加密 rsa

面试题:Java 中的 ==, equals 与 hashCode 的区别与联系

简爱W

7个获取访问者真实IP的方法,速学!!!

华为云开发者联盟

nginx 大前端 网站 IP 服务器

从头开始实现领域驱动设计_.NET_Jan Stenberg_InfoQ精选文章