ddd专题提供ddd的最新资讯内容,帮你更好的了解ddd。
2007年09月26日 21:34:21
 DDD quickly的翻译者之一,孙向晖总结的DDD的中心思想是:关注精简的业务模型及实现的匹配。看了之后,五体投地,总结的太精辟了。  我们知道,软件开发通常被应用到真实世界中已经存在的自动化流程,或者给真实的业务问题提供解决方案,即要自动化的业务流程或者可以用软件解决的现实问题。既然要解决现实问题,唯物辩证思想给我们指了条光明大道:分析问题,解决问题。  毛主席告诉我们说:没有调查,就没有
      最近看了Eric Evans的DDD一书,有点感想,随便写一下。在DDD里一般把业务层分为应用服务处和领域模型层。应用服务是与具体的架构有关系的,而领域模型是独立与具体的架构的,是可以在不同的架构下移植的。就比如在EJB3.0中,我们的session bean,MDB等都可以做来实现应用服务层,而我们的业务核心可以放在领域模型层里,应用服务通过领域模型来实现具体的业务操作。      
究竟什么是通用语言? 这让我想起了世界语。地球上有多种不同的语言,于是有人发明了世界语。从此大家只要学好了世界语,就可以走遍世界了。然而世界语消失了,真正的世界语就是英语。 想想也是,假如我只会中文,你只会英文,是我们都学另一种语言更容易交流,还是我学英语或你学中文更容易交流呢?答案是显然的。   因此,领域专家和开发人员之间的语言该如何通用呢? 显然,领域专家是不可能使用开发人员的语言,为什么?
按照传统的软件分析设计方式,首先业务专家和分析员建立分析模型,然后是设计员和分析员建立设计模型,最后程序员根据设计模型编写代码。   从这个过程可以看到,设计员和程序员说的语言和业务专家不同,这个翻译由分析员解决。   对DDD而言, 既然使用了通用语言,应该是建立一个通用的模型,这个模型使用通用语言建立,可以被所有的涉众所理解。   但是,既然这个模型也被程序员直接使用,其中必然会带有技术色彩,
  OpenExpressApp使用的是CSLA进行类库框架,进行类库设计时可以借鉴DDD的领域驱动设计概念,本篇介绍一下其中的聚合概念,理解这个概念后能够清晰的管理类库之间的关系网,可以降低复杂系统的复杂性并提高可维护性。 聚合   一个模型会包含众多的领域对象,不管在设计时做了多少考虑,我们都会看到许多对象会跟其他的对象发生关联,形成了一个复杂的关系网,如果设计不好时,这个对象网会带来不好的维
双击数组名称即可。   如果要显示为table,可设置如下。 Arrays as Tables By default, DDD lays out two-dimensional arrays as tables, such that all array elements are aligned with each other.27 To disable this feature, unset Ed
2010-11-20  通过博客 http://blog.csai.cn/user1/16236/index.html 学习DDD知识        内容:实体框架之领域驱动实践 (1)至(5) 2010-11-21  通过博客 http://blog.csai.cn/user1/16236/index.html 学习DDD知识        内容:实体框架之领域驱动实践 (6)至(8)     
在DDD中必须将Service和Domain,与Repository放在两个不同的层中,若直接这样设计的话,会出现包之间循环应用的现象, 比如Service引用Infrastrator中的Repository,Repository又引用Domain Layer中的Domain。 可用以下解决方法,引入Reposityor的接口IReposityor,Service和Domain引用IReposit
参考: http://blog.chinaunix.net/u2/61880/showart_2393482.html  Google为Android应用开发提供了eclipse加插件作为开发工具,基于eclipse可以方便调试apk,而对于底层开发人员(比如opencore开发)没有提供类似直观的开发工具及调试手段。本文旨在介绍一种基于ddd+gdbserver的调试方法,用于类似opencor
Google为Android应用开发提供了eclipse加插件作为开发工具,基于eclipse可以方便调试apk,而对于底层开发人员(比如opencore开发)没有提供类似直观的开发工具及调试手段。本文旨在介绍一种基于ddd+gdbserver的调试方法,用于类似 opencore的C层面的程序调试。 具体步骤如下: 开一个shell adb shell ps查看mediaserver进程号 gd
1.介绍DDD概念     Eric Evans的“Domain-Driven Design领域驱动设计”简称 DDD,它是一套综合软件系统分析和设计的面向对象建模方法,或者可称为MDD模型驱动方法的一种,区别于MDA模型驱动架构。它是一种分析设计建模方法,它倡导统一语言,提出了实体和值对象以及聚合根等概念,借助DDD我们能够在结构理清需求中领域模型。    过去系统分析和系统设计都是分离的,正如
@AiryLinus 的微博:DDD, Deadline Driven Development(上吊绳驱动的开发)。拿到需求之后在开发者脖子上加一根随时间收紧的吊绳。如果规定时间内没有完成开发任务,开发者会被吊死。 记得在大学的时候写报告,作业吗?其实,它也是上吊绳驱动开发。如下图: 还有古代那个头悬梁,锥刺股去考科举也可以算是上吊绳驱动开发的一种自我激励方式吧:)。 Deadline-drive
参考文档:http://hi.baidu.com/dreammerge/item/6091095d420a9b444eff20b3 GNU DDD是命令行调试程序,如GDB、DBX、WDB、Ladebug、JDB、XDB、Perl Debugger或Python Debugger的可视化图形前端。它特有的图形数据显示功能(Graphical Data Display)可以把数据结构按照图形的方式显
目录 DDD for Rails Developers. Part 1: Layered Architecture. What is DDD? The Book DDD and Rails Layered Architecture 分层体系结构 Layered Architecture and Rails Make a Separate Class for JSON Serialization 为
领域模型图如下: 说明: 上面的领域模型在设计时借鉴了DDD和CQRS的思想; 利用DDD的思想来设计实体、值对象、聚合、聚合根;图中有三个聚合根,分别是Forum、Thread、User;其中Thread聚合根聚合了Post和ViewCounter两个对象;Post是Thread的回复,显然Post离开Thread没有意义,但是Post在Thread聚合内有一个本地标识,即只要在当前Thread
点击打开链接http://www.cnblogs.com/wangiqngpei557/archive/2013/04/07/3005890.html
背景 见过很多框架(包括我自己的)都会在实体的定义中包含一个IsValid()方法,用来判断实体的合法性,是否应该这样设计呢?本文就这个问题介绍一点想法,希望大家多批评。 实体能否处于“非法”状态? 实体是否应该包含IsValid()方法的深层次问题是:“实体能否处于非法状态?”。我们来定义一些术语,接下来我就引用这些术语: A模式:实体允许处于非法状态,但是实体要包含一个IsValid()方法进
背景 系统开发最难的是职责的合理分配,或者叫:“如何合理的组织代码”,今天说一个关于这方面问题的示例,希望大家多批评。 示例背景 参考数据字典 需求 OrderCode必须唯一。 Total = Sum(Subtotal)。 订单有三种状态:【未提交】、【待审核】和【已审核】,合理的状态迁移有:【未提交】----》【待审核】和【待审核】----》【已审核】,只有处于【未提交】状态的订单能修改。 订