Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
[B! DDD] Value Objectについて整理しよう - Software Transactional Memo
[go: Go Back, main page]

記事へのコメント47

  • 注目コメント
  • 新着コメント
t29mato
これか。確かに、英語で間違いなく value object が何かを定義してる

その他
for-my-internet-demo
“複雑かつ巨大な仕様をコードに落とした結果として全部のメンバーがValue Objectになる事はあるかも知れないが、目的としてそれをやってはいけない。”

その他
pascal256
とてもわかり易い説明だ

その他
gabuchan
いい話

その他
wkubota
“ ”

その他
mizdra
めちゃめちゃ分かりやすい

その他
efcl
Value Objectは値による比較が行われるオブジェクトという話。値を表現するものと、型のAlias的なものについて

その他
iwasiman
定義を見つめ直す話。"Value ObjectはValueのように振る舞うObjectであって、ValueにObjectのような振る舞いを足す事ではない。"

その他
kobito19
"欲しかったものは静的型チェックしてくれるtype aliasだったのでは感がある" 欲しいのは "alias" では無く、本物の型だよ

その他
koba789
“問題の複雑さに合わせて膨れ上がるコードの複雑さをうまく統治するためにプラクティスを適宜使っていこうという順序で考えるべきであって、プラクティスの導入自体がコードに複雑さを加えるのであれば本末転倒”

その他
zyzy
Scalaだとこの辺はvalue classかcase classかみたいな話

その他
mominis
null参照といいオブジェクト指向言語はことごとくポインタの抽象化に失敗しているな

その他
n314
ブコメ見て、確かに type alias がないから仕方なくやってるところがあるかも。

その他
prograti
こういう概念の理解も大切ですよね。こっちの記事も具体例があって自分的には分かりやすかったかも。 https://leanpub.com/tdd-ebook/read#leanpub-auto-value-objects

その他
moriyoshi
こういうことを言うとすごい怒られそうだけど、議論を見ていると、Martin Fowler氏とかは絶妙に説明を変えて批判を避けてきているところもあるんじゃないかなとも思えて、逆にそれが氏の誠実さなのかもしれないけども…

その他
tkmkg8m
“問題の複雑さに合わせて膨れ上がるコードの複雑さをうまく統治するためにプラクティスを適宜使っていこうという順序で考えるべきであって、プラクティスの導入自体がコードに複雑さを加えるのであれば本末転倒”

その他
hasiduki
ほーん!!!!

その他
rikuba
“Value ObjectはValueのように振る舞うObjectであって、ValueにObjectのような振る舞いを足す事ではない。”

その他
tor4kichi
「VOはこうだ」とまでは言えるけど、じゃあそれ以外は? 「VO以外の全てのコードはドメインオブジェクトだ」と言って差し支えないのであれば、VOと同時にそれ以外を説明することで混乱を減らせないだろうか

その他
cuttoff19
後半良かった

その他
raydive
これはこれで過激なこと言いたいだけのように見えてなんだかなぁとは思う。/全部が全部オブジェクトに包む必要はないのは確かだけど

その他
PrivateIntMain
VOにできるのって複数の値が組み合わさった番号ぐらいなもんでは。バリデーション楽したいからとかシステム都合で生まれるもんじゃない。

その他
devrabi
devrabi なんにでもVOを自動生成で作りたがる人達はいる。そういうものに価値があるとは思えないが。

2022/05/15 リンク

その他
tengo1985
冷静に考えたらそのとおりだろ、と結論だと思うけれど極端な考えになってることあるよな。

その他
nomber3
nomber3 プリミティブ型の単純なラップ、欲しかったものは静的型チェックしてくれるtype aliasだったのでは感がある

2022/05/15 リンク

その他
ch1248
同意。俺も一時期「全てをオブジェクトにした方がいいのか?」みたいな状態にはなってたが、YAGNI原則適用でいいよねと思う。

その他
mak_in
C#のrecord型が、これになってるな。ORMであるentity frameworkが、DBの追跡のためにentity クラスをrecordにするな、と書いてるんだけど、利用側にとってはrecordで使いたい場面もしばしば。そこら辺のノウハウが地味に知りたい。

その他
xxxxxeeeee
xxxxxeeeee kumagiの言うとおりC++書いてる限り「なにそれ当たり前やん」ってなる話。Goも割とそう、Rustもそう。でも数年だけJava仕事で書いてるときは確かにこの辺めんどくさかった。

2022/05/15 リンク

その他
yarumato
“JavaScriptで = の意味が、プリミティブ型(int等)なら複製、オブジェクトなら(ポインタ)共有、という挙動の違いはややこしい。プリミティブ型の取り回しに揃えたい。Valueのように振る舞うObjectなのでValue Objectと呼ぶ”

その他
God-kami
“つまり代入式がやることが複製なのか共有なのかを人間が都度意識するのは無駄なので「書き換える時は常に複製を作って複製物を書き換える」という解決策を取ることでこの問題を回避できると言っている。”

その他

注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

アプリのスクリーンショット
いまの話題をアプリでチェック!
  • バナー広告なし
  • ミュート機能あり
  • ダークモード搭載
アプリをダウンロード

関連記事

Value Objectについて整理しよう - Software Transactional Memo

Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture...

ブックマークしたユーザー

すべてのユーザーの
詳細を表示します

同じサイトの新着

同じサイトの新着をもっと読む

いま人気の記事

いま人気の記事をもっと読む

いま人気の記事 - テクノロジー

いま人気の記事 - テクノロジーをもっと読む

新着記事 - テクノロジー

新着記事 - テクノロジーをもっと読む

同時期にブックマークされた記事

いま人気の記事 - 企業メディア

企業メディアをもっと読む