KJR020 KJR020's Blog

ValueObjectとは

経緯

良いコード/悪いコードで学ぶ設計入門の感想と注意点
良いコード/悪いコードで学ぶ設計入門の感想と注意点 favicon zenn.dev
良いコード/悪いコードで学ぶ設計入門の感想と注意点

を読んでいて、バリューオブジェクトの理解が曖昧だなと思ったので再確認
記事によると、基本的には、くまぎさんの書いたwikiの翻訳を信じたら良いらしい
確かに、くまぎさんの書いたwikiなら信頼できそうだなと思った

調べてみる

リファレンスもみてみる

^ Fowler, Martin (2003年). “Value Object”. Catalog of Patterns of Enterprise Application Architecture. Martin Fowler (martinfowler.com). 2011年7月17日閲覧。

第一参考文献にある、Martin Fowler氏の説明を読む

Martin Fowler氏のサイトによると、

Value Object A small simple object, like money or a date range, whose equality isn’t based on identity.

With object systems of various kinds, I’ve found it useful to distinguish between reference objects and Value Objects. Of the two a Value Object is usually the smaller; it’s similar to the primitive types present in many languages that aren’t purely object-oriented.

とある

自分の理解

自分の理解としては、

  • ValueObjectは、小さなシンプルなオブジェクトで、同等性が同一性に基づくものではない。
  • ここで言うidentityは,同一性で、それがメモリの位置や識別子に値する。
    等価性を満たすのに、必ずしも同一性を持つ必要がない

DDDで提唱された概念の一つで、ドメインモデルを表現するために使われるらしい

参考

値オブジェクト - Wikipedia
値オブジェクト - Wikipedia favicon ja.m.wikipedia.org
Value Object
A small simple object, like money or a date range, whose equality isn't based on identity.
Value Object favicon martinfowler.com
Value Object
Esc
キーワードを入力して検索