極力推薦將值對象實現爲不可變的。它們由一個構造器建立,而且在它們的生命週期內永遠不會被修改。當你想要獲得這個對象的不一樣的值時,你簡單地建立另外一個對象就好了spa
值對象能夠包含其餘的值對象,它們甚至還能夠包含對實體對象的引用。儘管值對象僅僅用來包含一個領域對象的屬性,但這並不意味着它應該包含一長列全部的屬性。
屬性能夠被分組到不一樣的對象中。被選擇用來構成一個值對象的屬性應該造成一個概念上的總體對象
天然地隸屬於一個服務而不是被包含在領域對象中的一個緣由。一個服務不該該替代一般隸屬於領域對象的操做.生命週期
服務的3 個特徵:
1. 服務執行的操做表明了一個領域概念,這個領域概念沒法天然地隸屬於一個實
體或者值對象。
2. 被執行的操做涉及到領域中的其餘的對象。
3. 操做是無狀態的。引用