领域驱动设计 (DDD) 是面向对象的软件设计方法,基于业务领域、元素和行为,以及它们之间的关系。其目标是将潜在业务领域的实现用业务领域专家语言定义的领域模型来表达出来。领域模型可以看一个框架,让业务变得有条理的解决方案。 要应用领域驱动设计,您必须对您想建模的业务领域有很了解, 或者熟练掌握这些业 ...
分类:
其他好文 时间:
2017-06-06 01:00:59
阅读次数:
149
阅读文件夹: 1.背景2.项目管理,质量、度量、进度3.软件开发是一种设计活动而不是建筑活动4.高速开发(简单的系统结构与复杂的业务模型)5.技术人员的业务理解与产品经理的业务理解的终于业务模型 5.1.产品的业务理解(业务流程、数据流程及场景)5.2.技术人员的业务理解(领域模型、设计模型、抽象建 ...
分类:
其他好文 时间:
2017-06-03 15:18:49
阅读次数:
273
这篇草稿已经快发霉了,因为让人很难看懂,所以一直没有发布。今天厚着脸皮发布出来,希望得到大家的指正 一、背景介绍(Why) 在用DDD时,我们一般都会抽象出UnitOfWork类型来进行CRUD。例如有如下领域模型: 现在我们要修改BlogPost模型,增加密码Password,删除所有关联的标签P ...
分类:
其他好文 时间:
2017-05-30 20:58:59
阅读次数:
204
在实际的软件开发项目中,我们的“业务逻辑”常常需要我们对同样的数据进行各种变换。例如,一个Web应用通过前端收集用户的输入成为Dto,然后将Dto转换成领域模型并持久化到数据库中。另一方面,当用户请求数据时,我们又需要做相反的工作:将从数据库中查询出来的领域模型以相反的方式转换成Dto再呈现给用户。 ...
分类:
移动开发 时间:
2017-05-27 10:48:04
阅读次数:
182
Fulent Fulent是配置领域模型类的另一个方法,它比DataAnnotations提供更多的配置,提供以下三种方法映射 Mappings To Database Model-Wide Mapping 设置默认架构,设置经典约束 Entity Mapping 映射单个或多个表格或架构,映射复杂 ...
分类:
其他好文 时间:
2017-05-23 10:08:54
阅读次数:
167
1、两层架构 简单将系统分为前台(视图)、后台(模型)。 前台:即jsp、el和jstl等页面的表示 后台:业务逻辑层与表示层或数据层混在一起。 没有任何中间件,开发、部署、扩展、维护困难。 如:jsp+servlet(+Dao)、jsp+javaBean(+Dao) 2、MVC设计模式 MVC全名 ...
分类:
编程语言 时间:
2017-05-21 00:28:42
阅读次数:
280
什么是领域的建立 为问题领域寻找和建立起合适的业务对象,有这些对象以及相互之间的交互来满足问题领域的要求; 如何建立领域模型 思考的方向 1、问题来源业务核心点、难点、重点 2、描述出面临的问题是什么 3、分析每个问题,提出假设 4、描述出每个用例场景 5、对对象进行调整,将问题进行拆分、合并、减少 ...
分类:
其他好文 时间:
2017-05-13 09:56:32
阅读次数:
115
最近,主要负责项目管理和领域模型设计方面的工作,昨天在将UML类图转换为ER模型的时候,发现有identifying relationship or non-identifying relationship的选择,搜了下,各自的含义,如下: 判别一个关系是Non-Identifying还是Ident ...
分类:
其他好文 时间:
2017-05-10 09:42:07
阅读次数:
179
开发者指南 参与 流程 任务 版本管理 源码构建 框架设计 整体设计 模块分包 依赖关系 调用链 暴露服务时序 引用服务时序 领域模型 基本原则 扩展点加载 扩展点配置 扩展点自动包装 扩展点自动装配 扩展点自适应 扩展点自动激活 实现细节 初始化过程细节 远程调用细节 远程通讯细节 SPI参考手册 ...
分类:
其他好文 时间:
2017-05-07 18:43:10
阅读次数:
1130
对于对象/类的识别有一个需要考虑,就是调度类,在领域模型中是需要有一个调度类,或者说一个Root对象,可以将领域中的对象关联起来;可以是一个调度类性对象,类似于事件分发器;可以是一个根对象,就是通过这个root,可以链式方式,连环调度到所有的对象。 在当一组对象/类识别出来之后,要设定他们之间的关系 ...
分类:
其他好文 时间:
2017-05-04 01:29:46
阅读次数:
116