《领域驱动设计》第二部分:模型驱动设计的构造块 第四章:分离领域 阅读笔记...

内容概述

将领域对象与系统中的其他功能分离

第一小节

介绍了分离领域的技术:Layered Architecture

第二小节

指出大部分软件系统都会采用分层的架构,但是分层方案有很多种。领域驱动设计只要求领域层存在即可,并且领域模型在领域层中表现不与程序的其他关注点分离。

第三小节

介绍了一种与领域驱动设计相反的设计方法Smart UI。分析了Smart UI和领域驱动设计各自的使用场景。

设计方法实现方法适用场景
Smart UI在用户界面中实现所有的业务逻辑业务规则很少的小型项目
DDD(领域驱动设计)领域层是单独的一层业务规则多的大型项目

第四节

基础设施与用户界面之外的其他影响分离领域层的因素:

  • 没有完全集成到模型中的领域元素
  • 与同一领域使用不同模型的其他开发团队合作

    解决方法:

  • Bounded Context
  • AntiCorruption Layer

自己一句话总结

应用关注点分离原则,将领域对象与系统的其他功能分离形成领域层。

我的观点

这章内容是对关注点分离原则的直接使用产生的结果,没有任何高大上的内容。唯一可能的贡献,提出了领域层这个名词。
作者对于分层架构的具体讨论中的部分内容我并不认同。具体可以参考《Clean Architecture》作者的观点。

转载于:https://www.cnblogs.com/x2zh/p/10796721.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Starling框架帮助手册中文版(PDF下载)

什么是Statling?Starling 是一个基于Stage3D(这是Flash Player11及Adobe AIR 3中新增的为3D加速功能所提供的API)所开发的一个能够使用GPU来加速的2D Flash应用程序的ActionScript3框架。Starling主要是为游戏开发而设计的, 但是它的用途不仅…

在X32与X64下,每种数据类型占用的字节数

在X32与X64下,每种数据类型占用的字节数分别如下: X32 X64 指针 4Byte 8Byte char 1Byte …

一个Setup Factory的Lua脚本

需求是把安装路径中的反斜杠转义成斜杠并写入到配置文件特定的地方去。 读取配置文件 由于配置文件不大 一次性的读入到内存中 local f io.input(SessionVar.Expand("%AppFolder%\\Common\\conf.xml"), "r");local r f:read("*all");io.close()…

20190501-编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串...

题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar"…

MySQL幻读及解决方法

这是一篇数据库隔离级别的科普文章,旨在了解数据库中著名的幻读现象,为了专注,对脏读、不可重复读不作讨论。 事务隔离级别 MySQL有四级事务隔离级别: 读未提交 READ-UNCOMMITTED: 存在脏读,不可重复读,幻…

SVN trunk branches tags 的用法 - 摘自网络

Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|-trunk-branches-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,…

数据结构学习方法

在网上搜集到的数据结构学习方法,请同学们参考。 谈数据结构学习方法(转帖)我在这里只是谈谈自己的学习体会现在咱们学的的数据结构是C版本的 所以C的一些基础知识应该先看会 尤其是指针那一部分 很多人对指针只是一知半解 由于一直对指针概念…

UIPickerView基本使用

UIPickerView是很常用的一个UI控件,在各种购物平台选择地址时候都是必备的,下面我们来说一下具体的使用 首先UIPickerView的创建,与多数控件一样,分配内存并设置位置尺寸。 重要的的是代理与数据源,设置代理和数据源后…

幻读和不可重复读

MySQL MySQL默认的隔离级别为RR,因此只会出现幻读的情况。 不会出现不可重复读的问题。 幻读 事务在插入已经检查过不存在的记录时,惊奇的发现这些数据已经存在了,之前的检测获取到的数据如同鬼影一般。 例子: 在事务1中&…

优化php效率,提高php性能的一些方法

1、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题; 2、尽量的少进行文件操作&#x…

园区网VLAN应用实例

园区环境:一台核心路由器,一台核心交换机;四台汇聚层交换机;四台接入层交换机(可根据实际需求和带宽的大小增加接入层的数量)——接入层下接入大量的PC机。技术要求:通过VLAN的划分及VTP的设置实…

java 检查进程是否存在

以nginx进程为例子 private final static String NAME_STRING "nginx.exe";//传入进程名称processNamepublic static boolean findProcess() {BufferedReader bufferedReader null;try {Process proc Runtime.getRuntime().exec("tasklist -fi " "…

2021年简单总结

2021年的余额还有不到6小时就要结束了,在这辞旧迎新的时刻,心情是十分复杂的。2021年还是比较艰辛的,不管在工作、生活、家庭、养育小孩或亲戚往来方面,遇到的困难远远地超过了我的预期,但是也收获了很多,包…

3450

/* KMP来做532ms */// include file #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <cctype> #include <ctime>#include <iostream> #include <sstream> #include <fstream> #in…

GMF 教程 Mindmap 5

2019独角兽企业重金招聘Python工程师标准>>> 这一部分主要实现的是&#xff1a; 使用扩展的Plug-in为我们的Diagram添加一个自定义动作 Creating a Customization Plug-in 尽管可以给生成的代码添加备注generated NOT来避免下次重新生成代码时覆盖我们修改的代码…

invalid use of incomplete type struct 或者是class的解决办法

在写完代码之后进行编译时&#xff0c;提示"invalid use of incomplete type struct" 或者 "invalid use of incomplete type class" 的解决办法&#xff1a; 1、对应的头文件要包含&#xff0c;这个是必须的。 当时因为没有包含头文件&#xff0c;也汇报…

ASP.NETLinkButton的Click事件中获取CommandArgument的值

/// <summary> /// LinkButton的onClick事件 /// </summary> /// <param name"sender"></param> /// <param name"e"></param> protected void linkBtnName_Click(object sender, EventArgs e) { …

Linux的proc文件系统详解

引用自&#xff1a;http://bbs.chinaunix.net/thread-2002769-1-1.html Linux系统上的/proc目录是一种文件系统&#xff0c;即proc文件系统。与其它常见的文件系统不同的是&#xff0c;/proc是一种伪文件系统&#xff08;也即虚拟文件系统&#xff09;&#xff0c;存储的是当前…

Jmeter(四十二)_控制器下遍历一组参数

概述 在接口自动化的过程中&#xff0c;经常遇到需要遍历的参数组。jmeter在中&#xff0c;foreach控制器可以实现遍历参数&#xff0c;但是只能有一个入参。一旦遇到数组&#xff0c;foreach控制器表示我也无能为力。。。 为了解决这个问题&#xff0c;今天教大家一个实现数组…

模板类的定义和实现可以分开吗?

一个模板&#xff0c;在a.h中定义&#xff0c;在a.cc中实现&#xff0c;这样可以吗&#xff1f; 答案是不行的。 模板的定义和实现需要都写在头文件中。 有一种特例可以实现模板的定义和实现分别放在a.h 和 a.cc中&#xff0c;但是需要指定参数的类型。 但是这样导致每传入一…