JSUG勉強会 2019その2 Spring BootベースのDDDサンプル徹底解説! #jsug

2019/02/18に開催された jsug のまとめです。DDDのサンプルコードを見ながら DDD の解説が行われました。 以下、doorkeeper のセッション内容 ドメイン駆動設計の考え方とやり方を、githubに公開しているドメイン駆動設計のサンプルコードを使いながら解説します。 続きを読む
1
VM持田 @mike_neck

クエリーサービス 計算結果をプレゼンテーション層に返す オペレーションサービス 計算結果の記録と通知の指示 -> データソース層 #jsug

2019-02-18 19:46:10
VM持田 @mike_neck

コーディネータークラス 複数のサービスを持っているサービス #jsug

2019-02-18 19:46:54
まめぴか@年内暇 @mame_pika

アプリケーション層は僕が普段書くコードとあまり変わりないな。 ドメイン層はあそこまで厳密に分解できていない。 #jsug

2019-02-18 19:47:13
Kazuya Fujioka @jizuya_f

サービスの中から別サービス呼ぶの結構モヤモヤしてたんだけどcoordinator パッケージとその役割を見たときなるほどなるほどと思いました。 積極的に取り入れていきたい。 #jsug

2019-02-18 19:47:53
しんどう りょう @shindo_ryo

「例えば管理者にだけ実行したいバリデーションとかはどうする?」 「バリデーショングループを使うこともあるが、まだ模索段階。controllerからドメインモデルで受け取るのが理想だが、現実的にはDTOで受け取らざるを得ないこともある。」 #jsug

2019-02-18 19:48:12
VM持田 @mike_neck

ロジック分岐ループなどはサービスクラス/コーディネータークラスには書かない #jsug

2019-02-18 19:49:24
しんどう りょう @shindo_ryo

。○(RecordServiceからQueryService呼び出したくなったりしないのかな) #jsug

2019-02-18 19:50:13
irof @irof

@shindo_ryo 「管理者」がコアドメインならdomainに個別の型ができます。そうでないならdomainにそういう要素が入るべきでない、という感じです。 #jsug

2019-02-18 19:51:01
VM持田 @mike_neck

計算するという関心ごととデータを保存するという関心ごとは異なる #jsug

2019-02-18 19:53:59
Tada🎉 @suke_masa

先ほど増田さんにご紹介いただいた資料はこちらです Java ORマッパー選定のポイント #jsug slideshare.net/masatoshitada7…

2019-02-18 19:54:24
VM持田 @mike_neck

イミュータブルデータモデル(insertだけ) #jsug

2019-02-18 19:55:27
まめぴか@年内暇 @mame_pika

履歴管理型はいいのだが、パフォーマンスが気になるの #jsug

2019-02-18 19:56:14
tosi @tosi_29

データベースはSQLでマッピングする。 ここを自動化しようとすると、かえって自由度が失われる場合がある。 #jsug

2019-02-18 19:56:52
まめぴか@年内暇 @mame_pika

英語がこれくらいスラスラ理解できるようなレベルにならないとだめなんだろうな。 #jsug

2019-02-18 19:58:10
Kazuya Fujioka @jizuya_f

ビジネスアプリケーションの場合は余程の理由がない限り基本的にはイミュータブルデータモデル一択な気がするんだよなぁ(検索性能が…とか色々突っ込みはありそうだけど #jsug

2019-02-18 19:58:19
@SayaMarble

とことん日本語のSQL圧巻…(日本人的にはめっちゃわかりやすいけど笑)#jsug

2019-02-18 19:58:30
Kazuya Fujioka @jizuya_f

データベース全部日本語www 振り切ってるなぁwww #jsug

2019-02-18 19:59:29
まめぴか@年内暇 @mame_pika

そうそう日本語だと複数形がないから難しいよね。 #jsug

2019-02-18 19:59:54
tosi @tosi_29

データベースは基本INSERTで記録するだけ。そうすれば最新状態は導出できる。 UPDATEは使わない #jsug

2019-02-18 19:59:57
しんどう りょう @shindo_ryo

最近は海外から来たエンジニアと仕事するケースは多いと思うので、日本語に依存するのは危険かも #jsug

2019-02-18 20:00:28
まめぴか@年内暇 @mame_pika

うちは4回アップデートしてるから、イミュータブルだとレコード数が4倍になっちゃう・・・。 #jsug

2019-02-18 20:01:33
BiKiSUKE THE END @bikisuke

コードを日本語で書けばいいじゃんって、昔エリック・エヴァンスが来日した時に言われたことあるわ。 #jsug

2019-02-18 20:02:33
VM持田 @mike_neck

外部APIなどはデータソース層と同じような層に置く。外部APIを呼ぶときにデータが汚い場合は、この層で腕力によってデータを詰め替えてる #jsug

2019-02-18 20:04:47
しんどう りょう @shindo_ryo

やっぱりコードとかの具体例があると質疑が捗る #jsug

2019-02-18 20:06:59