建立领域模型的第一步就是需要识别出实体、值对象与领域服务。一.实体1.实体是领域中需要唯一标识的领域概念。通常在业务中,需要唯一标识与区分的对象并需要持续对它进行跟踪,这样的对象我们认为是实体。2.如果两个实体所有状态都一样,但如果标识不一样,就是两个不同实体。比如订单对象就应该是实体,就算两个订单...
分类:
其他好文 时间:
2015-11-24 23:39:13
阅读次数:
435
ORM[Object-Relation-Mapping]对象关系映射. 这个名词已经出来好几年了.已经不陌生. 以前在项目中针对相对复杂业务逻辑时一般采用领域模型驱动方式进行业务概述,分析和建模. 其中在设计阶段我第一次接触ORM这个概念. 针对实际项目中ORM 采用的是Nhibernate实现底层...
分类:
其他好文 时间:
2015-11-14 21:50:07
阅读次数:
324
饭后无事,正好公司的TL有兴趣,闲聊聊我先吐槽了上午一个培训老师的内容:根据需求抽象出一个领域模型(形式化),然后根据这些领域符号(无个CRUD),再写一个解释器/编译器,开发人员使用领域语言开发,这些领域符号通过解释器/编译器,得到可以执行的指令(可以是C代码,也可以是二进制),到这,有没有代码生...
分类:
其他好文 时间:
2015-11-08 14:36:17
阅读次数:
193
1传统MVC模式:Model是对应用状态和业务功能的封装,理解其为同时包含数据和行为的领域模型(domain model)。Model接受controller请求并完成相应业务逻辑,在应用状态发生改变可以向View发出相应通知View:实现界面的呈现并捕捉用户的交互操作View捕获到用户操作会直接转...
分类:
Web程序 时间:
2015-11-02 17:09:26
阅读次数:
225
第一部分:实施策略图1.数据库分库分表(sharding)实施策略图解(点击查看大图)1.准备阶段对数据库进行分库分表(Sharding化)前,需要开发人员充分了解系统业务逻辑和数据库schema.一个好的建议是绘制一张数据库ER图或领域模型图,以这类图为基础划分shard,直观易行,可以确保开发人...
分类:
数据库 时间:
2015-11-01 17:48:09
阅读次数:
228
1,如果设计或者设计中的核心部分没有映射到领域模型,模型就没有什么价值,而软件是否正确也就令人怀疑。 2,模型和设计功能之间的映射如果很复杂,就会很难理解 ,当设计变更了实际上模型是不可能维护的。(分析产生的)领域模型和(对领域模型的)设计之间如果出现了致命的分歧,这 样一个活动( 分析或设计) 中...
分类:
其他好文 时间:
2015-10-23 21:26:02
阅读次数:
195
在前面的章节中,我们已经设计了一个简单的领域模型,接下来我们希望能够实现领域模型的持久化及查询。在Apworks中,实现了面向Entity Framework、NHibernate以及MongoDB的仓储基础结构。在本章节中,我将向大家介绍如何在Apworks中使用基于Entity Framewor...
分类:
其他好文 时间:
2015-10-15 23:37:03
阅读次数:
367
一、对象属性拷贝工具类 ”天下武功,唯快不破“。在互联网行业中体现的更加淋淋尽致。我们在业务系统会经常遇到业务对象间属性的拷贝,对如外接口一般都使用特定的DTO对象,而不会使用领域模型,以避免两者的变动互相影响。我们不...
分类:
其他好文 时间:
2015-10-07 14:39:59
阅读次数:
245
在上一讲中,我们已经新建了一个聚合根对象Account,并已经可以开始设计领域模型了。在这一讲中,我们会着重介绍EasyMemo领域模型的分析和设计,并引入Visual Studio Ultimate(旗舰版)版本的特性,介绍在Visual Studio 2013 Ultimate中如何使用体系结构...
分类:
其他好文 时间:
2015-10-03 21:54:55
阅读次数:
337
2007年Eric Evans发表《领域驱动设计》至今,领域驱动设计(DDD: Domain-Driven Design)的概念愈来愈被人了解与使用。我已经算是一个后知后觉者,但亡羊补牢,为时未晚。我们对领域这个词非常熟悉,而且经常放在嘴边,但又有多少重视它?开发人员更关注于技术,事实上我也是...
分类:
其他好文 时间:
2015-09-21 21:11:04
阅读次数:
157