写点什么

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

  • 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:032426
用户头像

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

关注

评论

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

Python代码阅读(第31篇):将一个列表分割成指定大小的小列表

Felix

Python 编程 Code Programing 阅读代码

不得不聊一聊英语爱好者的单词杂货铺了

小匚

随笔杂谈 生活记录 英语 大学英语四六级 单词

使用 grpcurl 通过命令行访问 gRPC 服务

AlwaysBeta

golang gRPC

看动画学算法之:doublyLinkedList

程序那些事

数据结构 算法 看动画学算法 程序那些事

等保二级需要测评吗?多久测评一次?

行云管家

网络安全 堡垒机 等保测评 过等保 二级等保

快准狠!百万年薪的阿里架构师分享深入剖析Java虚拟机文档

Java 架构 面试 程序人生 编程语言

大厂敲门砖!Alibaba技术官甩出的Springboot笔记

Java 架构 面试 程序人生 编程语言

艾瑞发布《2021年中国企业级 SaaS 行业研究报告》,ONES 入选典型厂商案例

万事ONES

项目管理 SaaS 协同办公

搞不懂云原生

二哥不再迷茫

走进吉利|EMQ 映云科技助力车企“新四化”

EMQ映云科技

车联网 物联网 IoT emq iov

一周信创舆情观察(9.13~9.26)

统小信uos

如何构建混合云管理平台?——资源管理篇

金蝶天燕云

云计算 云平台

探究数字内容生产商机,把握未来内容生产脉搏

华为云开发者联盟

媒体 视频 华为云 数字内容 影视

国庆出游神器:魔幻黑科技换天造物,让vlog秒变科幻大片!

华为云开发者联盟

视频 modelarts 科幻 国庆 天空

关于Promise你需要知道的一切

devpoint

大前端 Promise 引航计划

恒源云(GpuShare)_快进来!这里有超高性价比的GPU资源

恒源云

深度学习

一文讲清楚FusionInsight MRS CDL如何使用

华为云开发者联盟

大数据 数据湖 FusionInsight MRS 集成 CDL

从产业链、架构和技术三个层面,看元宇宙与RPA的发展关系

王吉伟频道

RPA 自动化 区块链+ 机器人流程自动化 元宇宙

堡垒机和虚拟机的两大区别分析-行云管家

行云管家

网络安全 虚拟机 服务器 堡垒机

架构实战营 - 模块五作业

Geek_de900a

博睿数据亮相北京IMC2021第三届中国智造CIO峰会

博睿数据

第 8 章 -《Linux 一学就会》-Centos8 软件包的管理与安装

学神来啦

Linux 运维

架构实战营 - 模块四作业

Geek_de900a

目睹阿里技术官写的Tomcat架构笔记后,瞬间觉得自己是渣渣

Java 架构 面试 程序人生 编程语言

华为云带你探秘Xtrabackup备份原理和常见问题分析

华为云数据库小助手

GaussDB 华为云数据库 MySQL 数据库 GaussDB(for MySQL)

金秋10月,日更挑战你准备好了么!?

InfoQ写作社区官方

热门活动 10月月更

图谱相关技术在风控反作弊中的应用和探索

百度Geek说

后端 软件架构

微信朋友圈 - 服务高性能复杂度分析

黑鹰

恒拓高科亮相中国-东北亚博览会,赋能海内外企业构建数字化新生态

WorkPlus

阅读

华为云开源的Karmada正式成为CNCF首个多云容器编排项目

华为云开发者联盟

容器 集群 cncf Karmada

国家级|深信服再获CNCERT应急服务国家级支撑单位称号!

科技热闻

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