Submit Search
Upload
現場で役立つシステム設計の原則
•
12 likes
•
6,392 views
増田 亨
Follow
アジャイル札幌、DevLove仙台のジョイントイベントでお話させていただいた内容。
Read less
Read more
Software
Report
Share
Report
Share
1 of 21
Download now
Download to read offline
Recommended
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
増田 亨
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
増田 亨
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
増田 亨
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
増田 亨
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
Recommended
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
増田 亨
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
増田 亨
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
増田 亨
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
増田 亨
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
増田 亨
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
増田 亨
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
商流物流金流.pdf
商流物流金流.pdf
Zenji Kanzaki
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
Koichiro Matsuoka
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
Yoshitaka Kawashima
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
増田 亨
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
増田 亨
ドメイン駆動設計 複雑さに立ち向かう
ドメイン駆動設計 複雑さに立ち向かう
増田 亨
さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪
Zenji Kanzaki
More Related Content
What's hot
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
増田 亨
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
増田 亨
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
商流物流金流.pdf
商流物流金流.pdf
Zenji Kanzaki
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
Koichiro Matsuoka
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
Yoshitaka Kawashima
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
増田 亨
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
増田 亨
What's hot
(20)
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
商流物流金流.pdf
商流物流金流.pdf
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
Viewers also liked
ドメイン駆動設計 複雑さに立ち向かう
ドメイン駆動設計 複雑さに立ち向かう
増田 亨
さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪
Zenji Kanzaki
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
増田 亨
凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Public
bonjin6770 Kurosawa
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
bonjin6770 Kurosawa
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
Junichiro Kazama
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
増田 亨
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
増田 亨
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
増田 亨
Viewers also liked
(10)
ドメイン駆動設計 複雑さに立ち向かう
ドメイン駆動設計 複雑さに立ち向かう
さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Public
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
Similar to 現場で役立つシステム設計の原則
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Masayuki Kanou
Intalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
チームで開発するための環境を整える
チームで開発するための環境を整える
onozaty
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
増田 亨
スマートフォンWebアプリ最適化”3つの極意”
スマートフォンWebアプリ最適化”3つの極意”
Koji Ishimoto
中・大規模サイト作成業務フロー
中・大規模サイト作成業務フロー
senakamura
メンバーズグループ アジャイル開発への取り組み
メンバーズグループ アジャイル開発への取り組み
Hiroshi Tsukamoto
ドメイン駆動設計入門
ドメイン駆動設計入門
増田 亨
13 manual writing20130709
13 manual writing20130709
和也 高山
concrete5で社内システムのお話し
concrete5で社内システムのお話し
Tao Sasaki
社内 DDD 勉強会第1回
社内 DDD 勉強会第1回
shingo suzuki
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
サービス開発における工程
サービス開発における工程
Hidetoshi Mori
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Daisuke Nishino
アジャイルにモデリングは必要か
アジャイルにモデリングは必要か
Hiromasa Oka
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
Tomoharu ASAMI
これって、ドメイン駆動設計?
これって、ドメイン駆動設計?
Michitaka Yumoto
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
増田 亨
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosaka
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosaka
akipii Oga
Similar to 現場で役立つシステム設計の原則
(20)
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Intalio japan special cloud workshop
Intalio japan special cloud workshop
チームで開発するための環境を整える
チームで開発するための環境を整える
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
スマートフォンWebアプリ最適化”3つの極意”
スマートフォンWebアプリ最適化”3つの極意”
中・大規模サイト作成業務フロー
中・大規模サイト作成業務フロー
メンバーズグループ アジャイル開発への取り組み
メンバーズグループ アジャイル開発への取り組み
ドメイン駆動設計入門
ドメイン駆動設計入門
13 manual writing20130709
13 manual writing20130709
concrete5で社内システムのお話し
concrete5で社内システムのお話し
社内 DDD 勉強会第1回
社内 DDD 勉強会第1回
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
サービス開発における工程
サービス開発における工程
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
アジャイルにモデリングは必要か
アジャイルにモデリングは必要か
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
これって、ドメイン駆動設計?
これって、ドメイン駆動設計?
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosaka
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosaka
More from 増田 亨
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
増田 亨
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
増田 亨
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
増田 亨
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
増田 亨
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
増田 亨
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
増田 亨
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
DDD sample code explained in Java
DDD sample code explained in Java
増田 亨
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
増田 亨
SoR 2.0 summary
SoR 2.0 summary
増田 亨
毎日が越境だ!
毎日が越境だ!
増田 亨
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
増田 亨
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
増田 亨
More from 増田 亨
(15)
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
DDD sample code explained in Java
DDD sample code explained in Java
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
SoR 2.0 summary
SoR 2.0 summary
毎日が越境だ!
毎日が越境だ!
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
現場で役立つシステム設計の原則
1.
現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 増田 亨 2017年8月25日
2.
第1章 小さくまとめてわかりやすくする 第2章 場合分けのロジックを整理する 第3章
業務ロジックをわかりやすく整理する 第4章 ドメインモデルの考え方で設計する 第5章 アプリケーション機能を組み立てる 第6章 データベースの設計とドメインオブジェクト 第7章 画面とドメインオブジェクトの設計を連動させる 第8章 アプリケーション間の連携 第9章 オブジェクト指向の開発プロセス 第10章 オブジェクト指向設計の学び方と教え方
3.
本日の内容 書きたくなかった 書き忘れた うまく書けなかった Q&A / 意見交換
4.
書きたくなかった • 自分はやっていないこと • コードの具体例で示せないこと •
現場で役に立たない総論や抽象論 • 自分では「どうでも良い」「それは違う」と思っ ていることを「それもありです」と言うこと stream(), extends, private final, … JPA, Active Record, Lombok, … TDD, CI, Docker, … Java以外のプログラミング言語 スクリプト言語
5.
書き忘れた 神崎さんのRDRAへの言及 ドメイン駆動設計との関係 いくつかの実装パターン いくつかのドメインオブジェクト 現場への取り入れ方
6.
RDRA • 第4章 ドメインモデルの考え方で設計する –
全体と部分をいったりきたりしながら作っていく – 全体を俯瞰する道具 • RDRA/神崎さんと出会ってから、設計のアプロー チが変わった – リレーションシップ駆動の効果に目覚めた • 書くべきだった – RDRAの紹介 – 参考文献の提示
7.
ドメイン駆動設計との関係 • 第5章 アプリケーション機能を組み立てる 第6章
データベース設計とドメインオブジェクト – Entity, Repository, Aggregateの設計パターン • エバンス本の真価 – 第3部 深いモデルの探求(の実践ストーリー) – 第4部 戦略的設計(誰がやるのか)
8.
実装パターン • 第1章 小さくまとめてわかりやすくする –
Range オブジェクト ( from, to ) • 期間、範囲 • 上限が未指定/下限が未指定 • Range 間の演算 • 第2章 場合分けのロジックを整理する – Bean Validationによる if文の激減 – Spring MVC @Validated • バリデーショングループ
9.
覚えておくとよいドメインオブジェクト • Location パターン –
「場所」という関心事と判断/加工/計算ロジック • Category パターン – 「分類」という関心事と判断/加工/計算ロジック • Role パターン – 「権限」という関心事 – 「認可」という関心事 • できる/できない • 見える/見えない • その判断ロジック、導出ロジック
10.
現場への取り入れ方 • まずは自分から – 具体的に手を動かして –
少しずつ時間をかけて – 結果を形で見せる • コードの見た目(わかりやすさ) • 修正/拡張のスピード • 品質の安定性 • 唯一の正解とか最終回答とかはない – どんな答えも、もっと良いものがあるはず • 個人の裁量範囲は思っているより広い – 逸脱するとやばいポイントはあるが、そこを避ければだいたいはOK • やりすぎることで見えてくるものがある – 理想と現実の境目 – 「失敗体験」という財産
11.
うまく書けなかった 自分の頭の中では、もっと書けると思っていたこと
12.
4章 ドメインモデルの考え方で設計する • 業務の関心事の基本パターンを覚えておく – 自分が使っているいろいろな分析パターン –
コード例 • ドメインオブジェクトの設計を段階的に改善 – 集中のために切り捨てる – 切り捨てに保険をかける(安心して切り捨てる) – 小さな実験 – 違和感(なんか違う)へのこだわり – ブレークスルーと決断
13.
5章 アプリケーション機能を組み立てる • ドメインモデルと「入出力」の関心事の分離 – 分離できない時に起きがちな問題の具体例 –
うまく分離できた場合の効果の具体例 • Repository – すべてのオブジェクトはメモリ上に存在すると考える • データベースの永続化の隠蔽手段とは別のとらえ方 – 設計パターン • findBy( Identifier identifier ) • listOf( Criteria criteria ) • 検査メソッド : count(), isExist(), …
14.
6章 データベースの設計とドメインオブジェクト • OR マッピングのコード例
(4点セット) – UserRepository.java (インタフェース宣言) – UserDatasource.java (実装クラス) – UserMapper.java – UserMapper.xml • 事実の記録のテーブル設計の具体例 – 前後関係の記録 – 関連性(交差テーブル)の記録 – 任意項目の扱い(未記入、未定、先送り、… ) • 参照系のテーブル設計の具体例 – リビジョン管理と最新レコードの参照 – 残高更新 – 未読/未済 – 状態遷移の記録と現在の状態の参照
15.
7章 画面とドメインオブジェクトの設計を連動させる • 画面デザインの4原則 近接/整列/対比/反復 – 画面の具体例 –
HTML の具体例 – CSS クラス設計の具体例(コード例) • Semantic UI – ドメインオブジェクトとの連動のコード例 • Thymeleaf th:* 属性 – 画面の部品化の具体例 • Thymeleaf th:include/th:replace
16.
8章 アプリケーション間の連携 • コードの具体例 – @RestController –
JSON/XML と オブジェクトのマッピング例 • 非同期メッセージング – 困っていること – 解決の考え方 – 実装の具体例 • ドメイン駆動設計の4部(戦略的設計)への関 連づけ
17.
9章 オブジェクト指向の開発プロセス • コードの自己文書化の具体例 – ソースコードをドキュメントとして活用する工夫 •
SI(受託開発)ビジネスでの取り組み方 – 発注の立場 – 受注の立場 – 二次受け、三次受けの立場 • 役割分担制への取り組み – デザイナ – 品質保証部門 – 基盤チーム – 運用チーム …
18.
10章 オブジェクト指向の学び方と教え方 • オブジェクト指向の設計スキル向上のための コードレビューの重点ポイント – 導入期 –
広げていく段階 – 発展させる段階 • オブジェクト指向の基礎知識(?) – もとになったアイデアを知る(Simula 67) – 実現の仕組みを理解する( klass ポインタ ) – 設計スタイルの多様性と取捨選択 • いろいろな継承 • いろいろな多態 • いろいろなカプセル化
19.
現場への取り入れ方/根付かせ方 • 主体 – 個人/有志/チーム/組織 •
ペース配分(学習曲線) – 徐々に時間をかけて – ブレークスルー – 徐々に時間をかけて • 方向 – 変えずに幅を広げてみる – 別の角度から取り組んでみる • 質と量 – 質の違いを実感する – 量をこなして体で覚える
20.
どんな状況でも改善はできる どんなときでもあなたから改善を始められる どんなときでも今日から改善を始められる by Kent Beck,
Extreme Programming 少しずつ 時間をかけて
21.
Q & A 意見交換 第1章
小さくまとめてわかりやすくする 第2章 場合分けのロジックを整理する 第3章 業務ロジックをわかりやすく整理する 第4章 ドメインモデルの考え方で設計する 第5章 アプリケーション機能を組み立てる 第6章 データベースの設計とドメインオブジェクト 第7章 画面とドメインオブジェクトの設計を連動させる 第8章 アプリケーション間の連携 第9章 オブジェクト指向の開発プロセス 第10章 オブジェクト指向設計の学び方と教え方
Download now