摘要:
http://www.cnblogs.com/daxnet/archive/2010/07/07/1772606.html聚合 聚合(Aggregate)是领域驱动设计中非常重要的一个概念。简单地说,聚合是这样一组领域对象(包括实体和值对象),这组领域对象联合起来表 述一个完整的领域概念。比如,根据Eric Evans《领域驱动设计》一书中的例子,一辆车包含四个轮子,轮子离开“车”就毫无意义,此时这个联合体就是聚合,而“车”就是聚合根 (Aggregate Root)。 从实践中得知,并非领域模型中的每个实体都能够完整地表述一个明确的领域概念,就比如客户与送货地址的关系。假设在某个应用中,.. 阅读全文
posted @ 2011-10-31 10:04
quietwalk
阅读(518)
评论(0)
推荐(0)
摘要:
http://www.cnblogs.com/daxnet/archive/2010/07/07/1772596.html存储过程 - 领域驱动的反模式 EntityFramework(EF)中有一项功能,就是能够根据数据库中的存储过程生成实体的行为(或称方法,以下统称方法)。我在本系列的第一篇博文中就已经提到,这种做法并不可取!因为存储过程是技术架构中的内容,而我们所关注的却是领域模型。 Andrey Yemelyanov在其“Using ADO.NET EF in DDD: A Pattern Approach”一文中,有下面这段话: In this context, the arc... 阅读全文
posted @ 2011-10-31 09:54
quietwalk
阅读(460)
评论(0)
推荐(0)
摘要:
http://www.cnblogs.com/daxnet/archive/2010/07/07/1772593.html案例:一个简易的销售系统 从现在开始,我们将以一个简易的销售系统为例,探讨EntityFramework在领域驱动设计上的应用。为了方便讨论,我们的销售系统非常简 单,不会涉及客户存在多个收货地址的情况,也不会包含任何库存管理的内容。假设我们的系统只需要维护产品类型、产品以及客户信息,并能够帮客户下订单、跟 踪订单状态,以及接受客户退货。从简单的分析我们大致可以了解到,这个系统将会有如下实体:客户、单据、产品及其类型。单据分为销售订单和退货单两种,每 个单据可以有多个单据行 阅读全文
posted @ 2011-10-31 09:46
quietwalk
阅读(651)
评论(0)
推荐(0)
摘要:
http://www.cnblogs.com/daxnet/archive/2010/07/07/1772584.html分层架构 在引入实例以前,我们有必要回顾,并进一步了解分层架构。“层”是一种体系结构模式[POSA1],也是被广大软件从业人员用得最为广泛而且最为灵活的模式之一。记得在CSDN上,时常有朋友问到:“分层是什么?为什么要分层?三层架构是不是就是表现层、业务逻辑层和数据访问层?” 到这里,你可能会觉得这些朋友的问题很简单,分层嘛,不就是将具有不同职责的组件分离开来,组成一套层内部高聚合,层与层之间低耦合的软件系统吗?不错!这是分层的目标。但是,我们应该如何分层呢? 领域驱动.. 阅读全文
posted @ 2011-10-31 09:42
quietwalk
阅读(626)
评论(0)
推荐(0)
摘要:
http://www.cnblogs.com/daxnet/archive/2010/07/07/1772581.html从DataTable到EntityObject 虽然从技术角度讲,DataTable与EntityObject并没有什么可比性,然而,它暗示了一场革命正在悄然进行着,即使是微软,也摆脱不了这场革命的飓风。 软件设计思想需要革命,需要摆脱原有的思路,而走向面向领域的道路。你或许会觉得听起来很玄乎,然而目前软件开发的现状使你不得不接受这样的现实, 仍然有大帮的从业人员成天扯着数据库不放,仍然有大帮的人在问:“我要实现xxxx功能,我的数据库应该如何设计?”这些人犯了根本性的错. 阅读全文
posted @ 2011-10-31 09:31
quietwalk
阅读(1030)
评论(0)
推荐(0)

浙公网安备 33010602011771号