KEMBAR78
Daftar
Login
DDD sample code explained in Java | PDF
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
増田 亨
PDF, PPTX
22,367 views
DDD sample code explained in Java
2019-02-18 #jsug ドメイン駆動設計サンプルコード徹底解説
Software
◦
Related topics:
Object-Oriented Programming
•
Read more
11
Save
Share
Embed
Download
Download as PDF, PPTX
1
/ 24
2
/ 24
3
/ 24
4
/ 24
5
/ 24
6
/ 24
7
/ 24
8
/ 24
9
/ 24
10
/ 24
11
/ 24
Most read
12
/ 24
13
/ 24
Most read
14
/ 24
15
/ 24
Most read
16
/ 24
17
/ 24
18
/ 24
19
/ 24
20
/ 24
21
/ 24
22
/ 24
23
/ 24
24
/ 24
More Related Content
PDF
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
PDF
世界でいちばんわかりやすいドメイン駆動設計
by
増田 亨
PDF
ドメイン駆動設計に15年取り組んでわかったこと
by
増田 亨
PDF
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
by
Koichiro Matsuoka
PDF
正しいものを正しく作る塾-設計コース
by
増田 亨
PDF
ドメイン駆動設計 基本を理解する
by
増田 亨
PDF
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
世界でいちばんわかりやすいドメイン駆動設計
by
増田 亨
ドメイン駆動設計に15年取り組んでわかったこと
by
増田 亨
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
by
Koichiro Matsuoka
正しいものを正しく作る塾-設計コース
by
増田 亨
ドメイン駆動設計 基本を理解する
by
増田 亨
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
What's hot
PDF
ドメイン駆動設計サンプルコードの徹底解説
by
増田 亨
PDF
ドメインオブジェクトの設計ガイドライン
by
増田 亨
PDF
ドメイン駆動設計 本格入門
by
増田 亨
PDF
ドメイン駆動設計の正しい歩き方
by
増田 亨
PDF
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
by
Koichiro Matsuoka
PDF
ソフトウェア開発のやり方の改善
by
増田 亨
PDF
3週連続DDDその1 ドメイン駆動設計の基本を理解する
by
増田 亨
PDF
マイクロサービス 4つの分割アプローチ
by
増田 亨
PDF
ドメイン駆動設計のためのオブジェクト指向入門
by
増田 亨
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PDF
ドメイン駆動設計という仕事の流儀
by
増田 亨
PDF
イミュータブルデータモデル(世代編)
by
Yoshitaka Kawashima
PDF
Redmine にいろいろ埋め込んでみた
by
Kohei Nakamura
PDF
オブジェクト指向できていますか?
by
Moriharu Ohzu
PDF
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
by
Kohei Nakamura
PDF
例外設計における大罪
by
Takuto Wada
PDF
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
by
増田 亨
PDF
オブジェクト指向の設計と実装の学び方のコツ
by
増田 亨
PDF
ソフトウェア設計の学び方を考える
by
増田 亨
PDF
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
by
naoki koyama
ドメイン駆動設計サンプルコードの徹底解説
by
増田 亨
ドメインオブジェクトの設計ガイドライン
by
増田 亨
ドメイン駆動設計 本格入門
by
増田 亨
ドメイン駆動設計の正しい歩き方
by
増田 亨
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
by
Koichiro Matsuoka
ソフトウェア開発のやり方の改善
by
増田 亨
3週連続DDDその1 ドメイン駆動設計の基本を理解する
by
増田 亨
マイクロサービス 4つの分割アプローチ
by
増田 亨
ドメイン駆動設計のためのオブジェクト指向入門
by
増田 亨
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
ドメイン駆動設計という仕事の流儀
by
増田 亨
イミュータブルデータモデル(世代編)
by
Yoshitaka Kawashima
Redmine にいろいろ埋め込んでみた
by
Kohei Nakamura
オブジェクト指向できていますか?
by
Moriharu Ohzu
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
by
Kohei Nakamura
例外設計における大罪
by
Takuto Wada
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
by
増田 亨
オブジェクト指向の設計と実装の学び方のコツ
by
増田 亨
ソフトウェア設計の学び方を考える
by
増田 亨
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
by
naoki koyama
Similar to DDD sample code explained in Java
PDF
Python におけるドメイン駆動設計(戦術面)の勘どころ
by
Junya Hayashi
PDF
ドメイン駆動設計という設計スタイル
by
増田 亨
PDF
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
by
Koichiro Matsuoka
PDF
C#実装から見るDDD(ドメイン駆動設計)
by
Takuya Kawabe
PPT
ドメインロジックの実装方法とドメイン駆動設計
by
Tadayoshi Sato
PDF
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
by
MicroAd, Inc.(Engineer)
PDF
ドメイン駆動設計をゲーム開発に活かす
by
増田 亨
PDF
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
by
Fumiyasu Sumiya
PDF
ドメイン駆動設計 の 実践 Part3 DDD
by
増田 亨
PDF
Dddをもっと身近に
by
Yukei Wachi
PDF
ドメイン駆動設計入門
by
増田 亨
PDF
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
by
Koichiro Matsuoka
PDF
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
by
Junichiro Kazama
PDF
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
PPTX
Acceleoによるmodel2 text変換
by
Norihito Ohshima
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
PPTX
ドメイン駆動設計入門
by
KenjiroUehara
PDF
「ドメイン駆動設計」の複雑さに立ち向かう
by
増田 亨
Python におけるドメイン駆動設計(戦術面)の勘どころ
by
Junya Hayashi
ドメイン駆動設計という設計スタイル
by
増田 亨
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
by
Koichiro Matsuoka
C#実装から見るDDD(ドメイン駆動設計)
by
Takuya Kawabe
ドメインロジックの実装方法とドメイン駆動設計
by
Tadayoshi Sato
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
by
MicroAd, Inc.(Engineer)
ドメイン駆動設計をゲーム開発に活かす
by
増田 亨
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
by
Fumiyasu Sumiya
ドメイン駆動設計 の 実践 Part3 DDD
by
増田 亨
Dddをもっと身近に
by
Yukei Wachi
ドメイン駆動設計入門
by
増田 亨
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
by
Koichiro Matsuoka
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
by
Junichiro Kazama
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
Acceleoによるmodel2 text変換
by
Norihito Ohshima
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
ドメイン駆動設計入門
by
KenjiroUehara
「ドメイン駆動設計」の複雑さに立ち向かう
by
増田 亨
More from 増田 亨
PDF
事業活動モデル・システム機能モデル・ビジネスロジックの記述
by
増田 亨
PDF
オブジェクト指向プログラミングの現在・過去・未来
by
増田 亨
PDF
ドメイン駆動設計 コアドメインを語り合ってみよう
by
増田 亨
PDF
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
by
増田 亨
PDF
プロダクトづくりのためのソフトウェア設計スタイル
by
増田 亨
PDF
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
by
増田 亨
PDF
ビジネスルールの複雑さに立ち向かう
by
増田 亨
PDF
ソフトウェアの核心にある複雑さに立ち向かう
by
増田 亨
PDF
アジャイルなソフトウェア設計を目指して
by
増田 亨
PDF
SoR 2.0 summary
by
増田 亨
PDF
毎日が越境だ!
by
増田 亨
PDF
SoR 2.0 基幹システムの再定義と再構築
by
増田 亨
PDF
ドメイン駆動設計とは何か 【入門編】
by
増田 亨
PDF
越境する情シス:進化可能なアーキテクチャを手に入れる
by
増田 亨
PDF
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
by
増田 亨
PDF
現場で役立つシステム設計の原則
by
増田 亨
PDF
現場で役立つシステム設計の原則
by
増田 亨
事業活動モデル・システム機能モデル・ビジネスロジックの記述
by
増田 亨
オブジェクト指向プログラミングの現在・過去・未来
by
増田 亨
ドメイン駆動設計 コアドメインを語り合ってみよう
by
増田 亨
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
by
増田 亨
プロダクトづくりのためのソフトウェア設計スタイル
by
増田 亨
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
by
増田 亨
ビジネスルールの複雑さに立ち向かう
by
増田 亨
ソフトウェアの核心にある複雑さに立ち向かう
by
増田 亨
アジャイルなソフトウェア設計を目指して
by
増田 亨
SoR 2.0 summary
by
増田 亨
毎日が越境だ!
by
増田 亨
SoR 2.0 基幹システムの再定義と再構築
by
増田 亨
ドメイン駆動設計とは何か 【入門編】
by
増田 亨
越境する情シス:進化可能なアーキテクチャを手に入れる
by
増田 亨
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
by
増田 亨
現場で役立つシステム設計の原則
by
増田 亨
現場で役立つシステム設計の原則
by
増田 亨
DDD sample code explained in Java
1.
DDDのサンプルコード isolating-the-domain Spring Boot, Spring
MVC, MyBatis, Thymeleaf 2019-02-18 2019/2/18 1
2.
始める前に ブログを書くかもという人、いらっしゃいますか? 2019/2/18 2
3.
なぜ作ったか? 実アプリケーション並みの具体例がほしかった コードがいちばん具体的に伝えることができる 質問が具体的になり、考え方の違いがはっきりする 今日のイベントのQAタイムでのフィードバックにわくわく 2019/2/18 3 https://github.com/system-sekkei/isolating-the-domain
4.
何の具体例か? 2019/2/18 4
5.
何の具体例か? ビジネスルールが複雑さの原因 計算をモデリング 型指向でプログラミング この3つがドメイン駆動設計の核心 3/22(金)DevLOVE Premium「ドメイン駆動設計 本格入門」で解説 今日は、コードを中心に、どういう雰囲気か紹介 2019/2/18
5
6.
関心の分離 計算(ビジネスルール)を実行するモジュール群 データを入出力するモジュール群 この2つを分ける 同じモジュール(ソースファイル)に、計算と入出力を書かない 2019/2/18 6
7.
モジュール構造の選択 手続き的な入出力モジュールに計算を埋め込む (トランザクションスクリプト) 計算を型(値の種類)でモジュール化して組み合わせる (ドメインモデル) ドメインモデル→計算モデル→計算モジュール→値の種類→型→クラス 2019/2/18 7
8.
サンプルの概要 時給ベースの給与計算モデル 背景にあるルール 雇用契約(時給単価, …) 労働基準法(深夜, 休日,
総労働時間, …) 計算に必要な事実 勤務実績(いつ、何時間) 給与計算ルールを62種類の型で記述 本日は、給与(Payroll)型を中心に説明 2019/2/18 8
9.
この後の段取り 給与(Payroll)型を中心に、レイヤごとに説明 ①ドメイン層(ビジネスルール層) ②アプリケーション層 ③データソース層 ④データベース ⑤プレゼンテーション層 ⑥ビジネスルールの設計ドキュメント レイヤごとにQAタイム 2019/2/18 9 ⑤プレゼンテーション 層 ②アプリケーション層 ③データソース層 ④データベース ①ビジネスルール層
10.
給与計算 計算結果 給与の一覧 2月 支払い額 計算の元データ →勤務時間の一覧(勤務の履歴) →従業員の一覧→布川光義→時給の履歴 計算ロジックのアグリゲートクラス domain.model.payroll.Payroll 計算結果 Payroll#totalPayment()
: PaymentAmount 2019/2/18 10
11.
ドメイン層(ビジネスルール層) 計算モデルが息づく場所 model パッケージ type パッケージ 型指向のプログラミング →github.com/masuda220/business-logic-patterns/wiki/設計ガイドライン Plain
Old Java Bean Validation → 有効な値の表明 → 自己文書化の一部 可読性 over Javaの習慣的な記法 No getter, no setter, no Lombok, no JPA Payrollクラス 事実への参照:Contract型(契約条件:時給単価、割り増しルール、…) 事実への参照:Attendance型 (勤務実績) → (TimeRecords型:コレクションオブジェクト) 計算の実行:totalAmount() 結果の表現:PaymentAmount型 プレゼンテーション層 アプリケーション層 データソース層 データベース ビジネスルール層 2019/2/18 11
12.
QAタイム ドメイン層(ビジネスルール層)について (JIGドキュメントでも説明します) プレゼンテーション層 アプリケーション層 データソース層 データベース ビジネスルール層 2019/2/18 12
13.
アプリケーション層 計算モデルのインスタンスの生成を指示する→データソース層 Query サービス :
計算結果を返す(結果を表現した型のインスタンス)→プレゼンテーション層 Operation サービス:計算結果の記録/通知を指示する→データソース層 coordinatorクラス @Service 単機能のserviceのautowire 複数のサービスを複合したサービス PayrollQueryCorrdinatorクラス serviceクラス @Service repositoryのautowire 単機能 ContractQueryServiceクラス AttendanceQueryServiceクラス プレゼンテーション層 アプリケーション層 データソース層 データベース ビジネスルール層 2019/2/18 13
14.
QAタイム アプリケーション層について プレゼンテーション層 アプリケーション層 データソース層 データベース ビジネスルール層 2019/2/18 14
15.
データソース層 データの入出力の実装 MyBatis SQL Mapper SELECTの実行→オブジェクトの生成 記録すべき事実を持ったオブジェクト→INSERTの実行 ContractDataSourceクラス TimeRecordDatasourceクラス プレゼンテーション層 アプリケーション層 データソース層 データベース ビジネスルール層 2019/2/18
15
16.
データベース イミュータブルデータモデル 履歴+最新状態レコード 履歴:事実の記録 → INSERT
オンリー 最新状態レコード:論理的には不要 → INSERT/DELETE NO UPDATE NO updated_at カラム 制約指向 型 NOT NULL制約、外部キー制約、ユニーク制約 とことん日本語 スキーマ名、テーブル名、カラム名 プレゼンテーション層 アプリケーション層 データソース層 データベース ビジネスルール層 2019/2/18 16 https://www.slideshare.net/kawasima/ss-40471672 https://www.slideshare.net/kawasima/ss-44958468
17.
QAタイム データソース層とデータベースについて プレゼンテーション層 アプリケーション層 データソース層 データベース ビジネスルール層 2019/2/18 17
18.
プレゼンテーション層 計算モデルのビュー ドメインオブジェクトをそのまま表示 (naked object
パターン) Spring MVC Direct Field Access → WebDataBinder#initDirectFieldAccess() Thymeleaf Semantic UI PayrollControllerクラス templates/payroll/list.html プレゼンテーション層 アプリケーション層 データソース層 データベース ビジネスルール層 2019/2/18 18
19.
QAタイム プレゼンテーション層について プレゼンテーション層 アプリケーション層 データソース層 データベース ビジネスルール層 2019/2/18 19
20.
JIGドキュメント • ビジネスルールの設計ドキュメント • コードから自動生成 •
設計レビューの補助(冶具) 2019/2/18 20
21.
QAタイム JIGドキュメントについて 2019/2/18 21
22.
まとめ 2019/2/18 22
23.
なぜ作ったか? 実アプリケーション並みの具体例がほしかった コードがいちばん具体的に伝えることができる 質問が具体的になり、考え方の違いがはっきりする 2019/2/18 23
24.
何の具体例か? ビジネスルールが複雑さの原因 計算をモデリング 型指向でプログラミング この3つがドメイン駆動設計の核心 3/22(金)DevLOVE Premium「ドメイン駆動設計 本格入門」で解説 今日は、コードを中心に、どういう雰囲気か紹介 2019/2/18
24
Download