測試驅動的Rails開發系列之二——實體

jieforest發表於2012-05-25
[i=s] 本帖最後由 jieforest 於 2012-5-23 12:48 編輯

The Building Blocks of Domain Driven Design

This time I’d like to start talking about the buildingblocks of Domain Driven Design, and how they can be used for modeling.


Entities and Values

In Domain Driven Design, an important distinction is drawnbetween Entities and Value Objects.


“An Entity is an object defined not by its attributes, butby a thread of continuity and identity.” An example of an Entity would be abank account. Many bank accounts can exist in our system at the same time. Someof them can be assigned to the same branch or have the same owner, but it’simportant for our system to treat them as different accounts as long as theyhave different identities. In case of a Rails application, an identity of anEntity is usually represented by an auto-generated primary key.


“A Value Object is an object that describes somecharacteristic or attribute but carries no concept of identity.” As there is noidentity, two Value Objects are equal when all their attributes are equal. Anexample of a Value Object would be Money.



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/301743/viewspace-730952/,如需轉載,請註明出處,否則將追究法律責任。

相關文章