DSOC サービス開発部でエンジニアをしている石畑です。普段は Rails で名寄せサービスを作っています。 今回は Rails で値オブジェクトを扱うのに ActiveRecord の composed_of が便利なので、紹介します。 値オブジェクト 値オブジェクトは DDD でも紹介されている概念です。多くのわかりやすい解説が世の中にあるので、詳しくは検索してもらえればと思いますが、ものすごく大雑把に説明すると「各属性で等価を判断できる不変なオブジェクト」です。 例えば「とあるスーパーでお肉を売る」を考えたときに、最初「300 円」で売っていた「お肉 A」を途中タイムセールで 100 円引きの「200 円」で売ったとしても「お肉 A」は値段を変更する前と「同一のお肉」です。 お肉のセール そのため、「お肉」の同一性は属性で判断することはできず、バーコードのような識別子で同一性を追跡し
![composed_of を使って Rails で値オブジェクトを扱う - Sansan Tech Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/682a77c2ec09e4d8e4d50a8daab604e1b0c69adb/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fp%2Fpekepek%2F20200331%2F20200331234918.png)