写点什么

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

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

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

关注

评论

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

极客星球 | 数据智能公司K8S生产环境落地之监控篇

MobTech袤博科技

K8s 多集群管理

微信朋友券的高性能复杂度

CityAnimal

架构实战营 #架构实战营 「架构实战营」

模块二作业:微信朋友圈高性能复杂度分析

杨波

「架构实战营」

Go服务错误堆栈收集降频策略

SFLYQ

后端 高并发 Go 语言 日志采集

有没有一件你认为是成功的,能让自己骄傲的事情?

石云升

职场经验 4月月更

微信朋友圈架构复杂度分析

Trent

一文简述:企业应用架构演进史

穿过生命散发芬芳

4月月更

带你了解元宇宙

CECBC

在线SQL压缩工具

入门小站

工具

分布式session之RedisSession的探索

Rubble

redis 4月日更 4月月更

模块二:微信朋友圈高性能复杂度分析

jiaoxn

「架构实战营」

直播预告|MobTech携手中国信通院共话数据治理建设实践

MobTech袤博科技

数据安全 火山引擎 信通院 MobTech袤博科技

内容管理系统简史

张泽豪

CMS

模块二作业 -- 图片字小,可以放大网页观看

库尔斯

PiFlow 发布企业级分布式关系型数据库 OceanBase 组件

OceanBase 数据库

oceanbase OceanBase 开源

jackson学习之五:JsonInclude注解

程序员欣宸

4月月更

分析微信朋友圈的高性能复杂度

Kevin

「架构实战营」

微信朋友圈的高性能复杂度

唐诗宋词

基于HiKariCP组件,分析连接池原理

HikariCP 连接池 数据库连接池

微信朋友圈高性能复杂度

鱼恨水

微信朋友圈的高性能复杂度分析

Geek_bc9c8d

[Day11]-[动态规划]让字符串成为回文串的最少插入次数

方勇(gopher)

LeetCode 数据结构和算法

架构实战营-模块二作业

,lazy

#架构实战营 「架构实战营」

模块二

Geek_5hnu3d

在线计算两个时间相差多少秒,分钟,天

入门小站

工具

架构实战营 - 第 6 期 模块二课后作业

乐邦

「架构实战营」

尤达 DDD 领域驱动设计思想 第五章作业(使用微服务框架对 SmartRM 系统重新进行微服务化重构)

代廉洁

尤达DDD领域驱动设计思想

linux之type命令

入门小站

Linux

微信朋友圈的高性能复杂度

大眼喵

「架构实战营」

架构训练营模块 2 作业

小马

「架构实战营」

阿里二面:携程配置中心Apollo服务端是如何感知配置变化的

root

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