读《Domain-Driven Design Quickly》笔记

原创 2007年09月18日 16:20:00
Domain-Driven Design Quickly 这书很好,
下载地址:http://www.infoq.com/minibooks/domain-driven-design-quickly
判断是否是领域逻辑的原则:就是这个逻辑动作是否有明确的业务上的含义,或者说是否是业务相关的,而不仅仅是技术相关的。

只有将技术实现手段从领域问题中剥离才能保证领域本身的精炼,保证程序员可以把精力集中到领域问题本身上来,而不会满脑子都是技术实现手段。

按照Eric的表述,通常将领域中的组成角色分为以下五种:
实体(Entity):拥有唯一标识的对象。
值对象(Value Object):没有唯一标识的对象。
工厂(Factory):定义创建实体的方法。
仓储(Repository):管理实体的集合并封装其持久化过程。
服务(Service):实现不能指派或封装在一个单一对象上的操作。

 a domain model is not a particular diagram;  it  is  the  idea  that  the diagram  is  intended  to
convey.

The previous chapters underscored the importance of an approach to software development that is centered on the business domain.(上一章节强调软件开发方法的重点是以业务领域为中心。)

It  is important  to choose a model which can  be  easily  and  accurately  put  into  code. 选择一种容易且能精确地转化成代码的模型是非常重要的。

A  common  architectural  solution  for  domain-driven  designs contain four conceptual layers:
    1.User Interface(Presentation Layer);
    2.Application Layer:This  is  a  thin  layer  which  coordinates (调整) the  application activity.  It does not  contain business  logic.  It does not hold  the  state  of  the  business  objects,  but  it  can  hold the state of an application task progress.
    3.Domain Layer:This  layer contains  information about  the domain. This is  the  heart  of  the  business  software.  The  state  of business  objects  is  held  here.  Persistence  of  the business objects and possibly their state is delegated to the infrastructure layer.
    4.Infrastructure Layer :This  layer acts as a supporting  library  for all  the other layers.  It  provides communication  between  layers, implements  persistence  for  business  objects,  contains
supporting libraries for the user interface layer, etc.

There  are  cases when we  need  to  contain  some  attributes  of  a domain element. We are not interested in which object it is, but what attributes  it has. An object  that  is used  to describe certain aspects of a domain, and which does not have identity, is named Value Object.(有些情况下,领域元素需要包含一些属性。然后我们关注的不是它是哪个对象,而是这个象所拥有的属性。被用来描述一个领域某一方面,而且没有标识的对象叫值对象。)
Value Objects  can  contain  other Value Objects,  and  they  can even contain references  to Entities.(值对象中也可包含其他值对象,甚至还可包括对实体的引用。)
 

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Domain Driven Design and Development In Practice

http://www.infoq.com/articles/ddd-in-practice Domain Driven Design and Development In Practice ...
  • sony315
  • sony315
  • 2011年09月05日 13:38
  • 1071

Domain driven design-quickly

  • 2014年09月26日 19:40
  • 1.3MB
  • 下载

状态模式在领域驱动设计中的使用(Using the State pattern in a Domain Driven Design)

领域驱动设计是软件开发的一种方式,问题复杂的地方通过将具体实现和一个不断改进的核心业务概念的模型连接解决。这个概念是Eric Evans提出的,http://www.domaindrivendesig...

domain-driven design 领域驱动设计

领域驱动设计之领域模型为什么建立一个领域模型是重要的领域通用语言(UBIQUITOUS LANGUAGE)将领域模型转换为代码实现的最佳实践领域建模时思考问题的角度领域驱动设计的经典分层架构用户界面/...

领域驱动设计(Domain Driven Design)参考架构详解

领域驱动设计(Domain Driven Design)参考架构详解摘要本文将介绍领域驱动设计(Domain Driven Design)的官方参考架构,该架构分成了Interfaces、Applic...

领域模型驱动设计(Domain Driven Design)入门概述

软件开发要干什么: 反映真实世界要自动化的业务流程解决现实问题 领域Domain Domain特指软件关注的领域在不能充分了解业务领域的情况下是不可能做出一个好的软件 ...

领域驱动设计(DDD:Domain-Driven Design)

领域驱动设计(DDD:Domain-Driven Design)   Eric Evans的“Domain-Driven Design...
  • cnlht
  • cnlht
  • 2017年02月18日 02:16
  • 433

什么是领域驱动设计(Domain Driven Design)?

领域驱动设计(Domain Driven Design)是一种软件开发方法,目的是让软件系统在实现时准确的基于对真实业务过程的建模并根据真实业务过程的调整而调整。 传统的开发工作趋向于一种以技术...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读《Domain-Driven Design Quickly》笔记
举报原因:
原因补充:

(最多只允许输入30个字)