2022年5月20日のブックマーク (1件)

  • Re: ドメイン固有型(値オブジェクト含む)を再考する - Software Transactional Memo

    blog.j5ik2o.me 値オブジェクトはドメイン固有型の一種です。なので、不変と等価判定だけではなく、なにかしらのドメイン固有の不変条件(invariant)を維持する責任があると考えます(もちろん型として切り出すわけですからその投資に見合うだけの見返りがないといけません)。 違う。値オブジェクトとはID以外で等価判定をするオブジェクトの事であって、RubyのHash、Pythonのdict、C++のstd::unordered_setすらも値によって等価判定を行うのでこれらは値オブジェクトであるがドメイン固有型ではない。RubyでHashに入れて渡されたユーザ入力値をValidationしてドメイン固有型に詰め直すのはもちろん必要ならやれば良いが、Hashクラスそのものにモンキーパッチなり特異クラスなりを行って不変条件を維持する責任を負った自分専用Hashを作って普通のHashクラ

    Re: ドメイン固有型(値オブジェクト含む)を再考する - Software Transactional Memo
    baronhorse
    baronhorse 2022/05/20
    一見原理主義ぽいけどブランディングに過ぎなくて実は生き残りの涙ぐましい世過ぎの業だったみたいなあれかなと思って見てる。行く道よ