<commit_before>---
layout: post
title: "领域驱动模型设计"
date: 2018-01-15
excerpt: "领域驱动模型设计."
tags: [领域驱动模型]
comments: true
---
# 第一章 DDD 入门
**什么是领域模型?**
领域模型是关于某个特定业务领域的软件模型。通常，领域模型通过对象模型来实现，这些对象同时包含了数据和行为，并且表达了准确的业务含义。
1. 领域专家将关注点放在交付业务价值上，而开发者则将注意力放在技术实现上；
1. DDD关注的三个方面：
   + 领域专家和开发人员一起创建一套适用于领域建模的通用语言；
   + DDD关注业务战略；
   + 通过使用战术设计建模工具；
# 第二章 领域，子域和界限上下文
## 领域
1. 从广义上讲，领域即是一个组织所做的事情，及其所包含的一切；
2. 每个组织都有他自己的业务范围和做事方式，这个业务范围以及在其中所进行的活动便是领域；
## 为什么要划分子域
如果不通过子域对软件模型进行划分，事情将变的更加繁琐，因为系统中的各个部分都是紧密联系在一起的，用DDD将交织的模型划分成逻辑上相互分离的子域，在一定程度上减少系统的复杂性；<commit_msg>Update 2018-01-15-《领域驱动模型设计》.md<commit_after>---
layout: post
title: "领域驱动模型设计"
date: 2018-01-15
excerpt: "领域驱动模型设计."
tags: [领域驱动模型]
comments: true
---
# 第一章 DDD 入门
**什么是领域模型?**
领域模型是关于某个特定业务领域的软件模型。通常，领域模型通过对象模型来实现，这些对象同时包含了数据和行为，并且表达了准确的业务含义。
1. 领域专家将关注点放在交付业务价值上，而开发者则将注意力放在技术实现上；
1. DDD关注的三个方面：
   + 领域专家和开发人员一起创建一套适用于领域建模的通用语言；
   + DDD关注业务战略；
   + 通过使用战术设计建模工具；
# 第二章 领域，子域和界限上下文
## 领域
1. 从广义上讲，领域即是一个组织所做的事情，及其所包含的一切；
2. 每个组织都有他自己的业务范围和做事方式，这个业务范围以及在其中所进行的活动便是领域；
## 为什么要划分子域
如果不通过子域对软件模型进行划分，事情将变的更加繁琐，因为系统中的各个部分都是紧密联系在一起的，用DDD将交织的模型划分成逻辑上相互分离的子域，在一定程度上减少系统的复杂性；
## 界限上下文
界限上下文是一个显式的边界，领域模型便存在于边界之内，在边界内，通用语言中的所有术语和词组都有特定的含义，而模型需要准确的反映通用语言。

{'fraction_non_alphanumeric': 0.11740216486261448, 'fraction_numerical': 0.026644462947543714, 'mean_word_length': 7.838235294117647, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4037533', 'n_tokens_mistral': 1068, 'n_tokens_neox': 1299, 'n_words': 70}