TypeScript part4 (378レス)
TypeScript part4 http://mevius.5ch.net/test/read.cgi/tech/1640872622/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
21: デフォルトの名無しさん [sage] 2022/02/06(日) 17:45:58.69 ID:cUJBT0A1 >>17 すまん DDDのドメイン層を連想してくれると思って言った イミュータブルだから大丈夫ってのは規模の小さなシステムでならたしかに間違いではない ただ規模が大きくなるにつれてそれでは難しくなるのもまた事実 というのもイミュータブルなPODだと不正なイミュータブルオブジェクトの生成を抑止する方法が残念ながら無い なのでプログラムにバグが紛れ込みやすくなってしまう それと特定の型に対する演算がプログラムのあちこちに分散してしまい凝集度が下がって大混乱というのが典型的な末路だね >>18 Jsonを必要としているのは主にIOを司る層であってそれはドメイン層ではない 異なる層が負うべき責務を別の層が引き受けるのはクリーンな設計とは言えないよね なのでドメイン層のクラスがJson Serializableである必要はない というかドメイン層のクラスに直接Deserializeするのは危険なので大規模案件ではむしろ禁止した方がいい それは完全コンストラクタを経由せずにオブジェクトをインスタンス化するということであり 不正なオブジェクトを生成してしまう可能性をプログラムに埋め込むということに他ならない http://mevius.5ch.net/test/read.cgi/tech/1640872622/21
22: デフォルトの名無しさん [sage] 2022/02/06(日) 18:34:09.22 ID:Fo3XpFx5 >>21 > イミュータブルなPODだと不正なイミュータブルオブジェクトの生成を抑止する方法が残念ながら無い 不正なイミュータブルオブジェクトの問題ってなに? イミュータブルオブジェクトがイミュータブルオブジェクトにどうやって影響を与えるのさ。 > 特定の型に対する演算がプログラムのあちこちに分散してしまい凝集度が下がって大混乱 疎結合になってむしろ良いことでは? TSにおいて凝集度はクラスで担保すべきでは無いでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/22
25: デフォルトの名無しさん [sage] 2022/02/06(日) 19:06:18.29 ID:AuLf6V7C >>21 > Jsonを必要としているのは主にIOを司る層であってそれはドメイン層ではない > 異なる層が負うべき責務を別の層が引き受けるのはクリーンな設計とは言えないよね > なのでドメイン層のクラスがJson Serializableである必要はない 横だがこれは完全に間違ってるだろ。 シリアライズするのは確かにI/O側だが、他言語も含めて今現在は クラス側にserialize手段を用意するのが主流だ。TS知らんがJSと同じならtoJSON()。 だからドメイン側でシリアライズする可能性のあるクラスの全てにtoJSONを用意しておくのが正しい解だという事に今はなっている。 I/O側にやらせていたのは昔の設計だ。ただそれの何が悪かったのかは俺は知らない。 (実行効率だけは無茶苦茶良かったから、クラスを導入して非効率になっただけなのかもしれんが) http://mevius.5ch.net/test/read.cgi/tech/1640872622/25
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s