SlideShare a Scribd company logo
1 of 21
Download to read offline
現場で役立つシステム設計の原則
~変更を楽で安全にするオブジェクト指向の実践技法
増田 亨
2017年8月25日
第1章 小さくまとめてわかりやすくする
第2章 場合分けのロジックを整理する
第3章 業務ロジックをわかりやすく整理する
第4章 ドメインモデルの考え方で設計する
第5章 アプリケーション機能を組み立てる
第6章 データベースの設計とドメインオブジェクト
第7章 画面とドメインオブジェクトの設計を連動させる
第8章 アプリケーション間の連携
第9章 オブジェクト指向の開発プロセス
第10章 オブジェクト指向設計の学び方と教え方
本日の内容
書きたくなかった
書き忘れた
うまく書けなかった
Q&A / 意見交換
書きたくなかった
• 自分はやっていないこと
• コードの具体例で示せないこと
• 現場で役に立たない総論や抽象論
• 自分では「どうでも良い」「それは違う」と思っ
ていることを「それもありです」と言うこと
stream(), extends, private final, …
JPA, Active Record, Lombok, …
TDD, CI, Docker, …
Java以外のプログラミング言語
スクリプト言語
書き忘れた
神崎さんのRDRAへの言及
ドメイン駆動設計との関係
いくつかの実装パターン
いくつかのドメインオブジェクト
現場への取り入れ方
RDRA
• 第4章 ドメインモデルの考え方で設計する
– 全体と部分をいったりきたりしながら作っていく
– 全体を俯瞰する道具
• RDRA/神崎さんと出会ってから、設計のアプロー
チが変わった
– リレーションシップ駆動の効果に目覚めた
• 書くべきだった
– RDRAの紹介
– 参考文献の提示
ドメイン駆動設計との関係
• 第5章 アプリケーション機能を組み立てる
第6章 データベース設計とドメインオブジェクト
– Entity, Repository, Aggregateの設計パターン
• エバンス本の真価
– 第3部 深いモデルの探求(の実践ストーリー)
– 第4部 戦略的設計(誰がやるのか)
実装パターン
• 第1章 小さくまとめてわかりやすくする
– Range オブジェクト ( from, to )
• 期間、範囲
• 上限が未指定/下限が未指定
• Range 間の演算
• 第2章 場合分けのロジックを整理する
– Bean Validationによる if文の激減
– Spring MVC @Validated
• バリデーショングループ
覚えておくとよいドメインオブジェクト
• Location パターン
– 「場所」という関心事と判断/加工/計算ロジック
• Category パターン
– 「分類」という関心事と判断/加工/計算ロジック
• Role パターン
– 「権限」という関心事
– 「認可」という関心事
• できる/できない
• 見える/見えない
• その判断ロジック、導出ロジック
現場への取り入れ方
• まずは自分から
– 具体的に手を動かして
– 少しずつ時間をかけて
– 結果を形で見せる
• コードの見た目(わかりやすさ)
• 修正/拡張のスピード
• 品質の安定性
• 唯一の正解とか最終回答とかはない
– どんな答えも、もっと良いものがあるはず
• 個人の裁量範囲は思っているより広い
– 逸脱するとやばいポイントはあるが、そこを避ければだいたいはOK
• やりすぎることで見えてくるものがある
– 理想と現実の境目
– 「失敗体験」という財産
うまく書けなかった
自分の頭の中では、もっと書けると思っていたこと
4章
ドメインモデルの考え方で設計する
• 業務の関心事の基本パターンを覚えておく
– 自分が使っているいろいろな分析パターン
– コード例
• ドメインオブジェクトの設計を段階的に改善
– 集中のために切り捨てる
– 切り捨てに保険をかける(安心して切り捨てる)
– 小さな実験
– 違和感(なんか違う)へのこだわり
– ブレークスルーと決断
5章
アプリケーション機能を組み立てる
• ドメインモデルと「入出力」の関心事の分離
– 分離できない時に起きがちな問題の具体例
– うまく分離できた場合の効果の具体例
• Repository
– すべてのオブジェクトはメモリ上に存在すると考える
• データベースの永続化の隠蔽手段とは別のとらえ方
– 設計パターン
• findBy( Identifier identifier )
• listOf( Criteria criteria )
• 検査メソッド : count(), isExist(), …
6章
データベースの設計とドメインオブジェクト
• OR マッピングのコード例 (4点セット)
– UserRepository.java (インタフェース宣言)
– UserDatasource.java (実装クラス)
– UserMapper.java
– UserMapper.xml
• 事実の記録のテーブル設計の具体例
– 前後関係の記録
– 関連性(交差テーブル)の記録
– 任意項目の扱い(未記入、未定、先送り、… )
• 参照系のテーブル設計の具体例
– リビジョン管理と最新レコードの参照
– 残高更新
– 未読/未済
– 状態遷移の記録と現在の状態の参照
7章
画面とドメインオブジェクトの設計を連動させる
• 画面デザインの4原則
近接/整列/対比/反復
– 画面の具体例
– HTML の具体例
– CSS クラス設計の具体例(コード例)
• Semantic UI
– ドメインオブジェクトとの連動のコード例
• Thymeleaf th:* 属性
– 画面の部品化の具体例
• Thymeleaf th:include/th:replace
8章
アプリケーション間の連携
• コードの具体例
– @RestController
– JSON/XML と オブジェクトのマッピング例
• 非同期メッセージング
– 困っていること
– 解決の考え方
– 実装の具体例
• ドメイン駆動設計の4部(戦略的設計)への関
連づけ
9章
オブジェクト指向の開発プロセス
• コードの自己文書化の具体例
– ソースコードをドキュメントとして活用する工夫
• SI(受託開発)ビジネスでの取り組み方
– 発注の立場
– 受注の立場
– 二次受け、三次受けの立場
• 役割分担制への取り組み
– デザイナ
– 品質保証部門
– 基盤チーム
– 運用チーム
…
10章
オブジェクト指向の学び方と教え方
• オブジェクト指向の設計スキル向上のための
コードレビューの重点ポイント
– 導入期
– 広げていく段階
– 発展させる段階
• オブジェクト指向の基礎知識(?)
– もとになったアイデアを知る(Simula 67)
– 実現の仕組みを理解する( klass ポインタ )
– 設計スタイルの多様性と取捨選択
• いろいろな継承
• いろいろな多態
• いろいろなカプセル化
現場への取り入れ方/根付かせ方
• 主体
– 個人/有志/チーム/組織
• ペース配分(学習曲線)
– 徐々に時間をかけて
– ブレークスルー
– 徐々に時間をかけて
• 方向
– 変えずに幅を広げてみる
– 別の角度から取り組んでみる
• 質と量
– 質の違いを実感する
– 量をこなして体で覚える
どんな状況でも改善はできる
どんなときでもあなたから改善を始められる
どんなときでも今日から改善を始められる
by Kent Beck, Extreme Programming
少しずつ
時間をかけて
Q & A
意見交換
第1章 小さくまとめてわかりやすくする
第2章 場合分けのロジックを整理する
第3章 業務ロジックをわかりやすく整理する
第4章 ドメインモデルの考え方で設計する
第5章 アプリケーション機能を組み立てる
第6章 データベースの設計とドメインオブジェクト
第7章 画面とドメインオブジェクトの設計を連動させる
第8章 アプリケーション間の連携
第9章 オブジェクト指向の開発プロセス
第10章 オブジェクト指向設計の学び方と教え方

More Related Content

What's hot

正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース増田 亨
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと増田 亨
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2増田 亨
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計増田 亨
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して増田 亨
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善増田 亨
 
商流物流金流.pdf
商流物流金流.pdf商流物流金流.pdf
商流物流金流.pdfZenji Kanzaki
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する増田 亨
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう増田 亨
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話Yoshitaka Kawashima
 
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD概念モデリング再入門 + DDD
概念モデリング再入門 + DDDHiroshima JUG
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)Mikiya Okuno
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer増田 亨
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計増田 亨
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]Koichiro Matsuoka
 
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのことエスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのことYoshitaka Kawashima
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント増田 亨
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由増田 亨
 

What's hot (20)

正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
商流物流金流.pdf
商流物流金流.pdf商流物流金流.pdf
商流物流金流.pdf
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
 
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのことエスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
 

Viewers also liked

ドメイン駆動設計 複雑さに立ち向かう
ドメイン駆動設計 複雑さに立ち向かうドメイン駆動設計 複雑さに立ち向かう
ドメイン駆動設計 複雑さに立ち向かう増田 亨
 
さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪Zenji Kanzaki
 
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル増田 亨
 
凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Public凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Publicbonjin6770 Kurosawa
 
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則20160526 依存関係逆転の原則
20160526 依存関係逆転の原則bonjin6770 Kurosawa
 
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」Junichiro Kazama
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則増田 亨
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD増田 亨
 
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる増田 亨
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring増田 亨
 

Viewers also liked (10)

ドメイン駆動設計 複雑さに立ち向かう
ドメイン駆動設計 複雑さに立ち向かうドメイン駆動設計 複雑さに立ち向かう
ドメイン駆動設計 複雑さに立ち向かう
 
さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪
 
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
 
凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Public凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Public
 
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
 
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
 
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
 

Similar to 現場で役立つシステム設計の原則

20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)Masayuki Kanou
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう増田 亨
 
スマートフォンWebアプリ最適化”3つの極意”
スマートフォンWebアプリ最適化”3つの極意”スマートフォンWebアプリ最適化”3つの極意”
スマートフォンWebアプリ最適化”3つの極意”Koji Ishimoto
 
中・大規模サイト作成業務フロー
中・大規模サイト作成業務フロー中・大規模サイト作成業務フロー
中・大規模サイト作成業務フローsenakamura
 
メンバーズグループ アジャイル開発への取り組み
メンバーズグループ アジャイル開発への取り組みメンバーズグループ アジャイル開発への取り組み
メンバーズグループ アジャイル開発への取り組みHiroshi Tsukamoto
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門増田 亨
 
13 manual writing20130709
13 manual writing2013070913 manual writing20130709
13 manual writing20130709和也 高山
 
concrete5で社内システムのお話し
concrete5で社内システムのお話しconcrete5で社内システムのお話し
concrete5で社内システムのお話しTao Sasaki
 
社内 DDD 勉強会第1回
社内 DDD 勉強会第1回社内 DDD 勉強会第1回
社内 DDD 勉強会第1回shingo suzuki
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程Hidetoshi Mori
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要かHiromasa Oka
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけらAtsushi Nakamura
 
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】Tomoharu ASAMI
 
これって、ドメイン駆動設計?
これって、ドメイン駆動設計?これって、ドメイン駆動設計?
これって、ドメイン駆動設計?Michitaka Yumoto
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで増田 亨
 
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosaka
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosakaDDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosaka
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosakaakipii Oga
 

Similar to 現場で役立つシステム設計の原則 (20)

20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
スマートフォンWebアプリ最適化”3つの極意”
スマートフォンWebアプリ最適化”3つの極意”スマートフォンWebアプリ最適化”3つの極意”
スマートフォンWebアプリ最適化”3つの極意”
 
中・大規模サイト作成業務フロー
中・大規模サイト作成業務フロー中・大規模サイト作成業務フロー
中・大規模サイト作成業務フロー
 
メンバーズグループ アジャイル開発への取り組み
メンバーズグループ アジャイル開発への取り組みメンバーズグループ アジャイル開発への取り組み
メンバーズグループ アジャイル開発への取り組み
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
13 manual writing20130709
13 manual writing2013070913 manual writing20130709
13 manual writing20130709
 
concrete5で社内システムのお話し
concrete5で社内システムのお話しconcrete5で社内システムのお話し
concrete5で社内システムのお話し
 
社内 DDD 勉強会第1回
社内 DDD 勉強会第1回社内 DDD 勉強会第1回
社内 DDD 勉強会第1回
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
 
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
 
これって、ドメイン駆動設計?
これって、ドメイン駆動設計?これって、ドメイン駆動設計?
これって、ドメイン駆動設計?
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosaka
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosakaDDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosaka
DDD読書会@大阪(最終回)のLT資料「ドメイン駆動設計で気づいたこと~権利の概念とERP分析への適用」 #dddosaka
 

More from 増田 亨

事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述増田 亨
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来増田 亨
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル増田 亨
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル増田 亨
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ増田 亨
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう増田 亨
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう増田 亨
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門増田 亨
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす増田 亨
 
SoR 2.0 summary
SoR 2.0 summarySoR 2.0 summary
SoR 2.0 summary増田 亨
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!増田 亨
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築増田 亨
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】増田 亨
 

More from 増田 亨 (15)

事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
SoR 2.0 summary
SoR 2.0 summarySoR 2.0 summary
SoR 2.0 summary
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
 

現場で役立つシステム設計の原則