SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
IT Benkyo Enkai #60
December 29, 2017
Lean Architecture / DCI Evening
Report
PHP Mentors
Atsuhiro Kubo @iteman
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
久保敦啓 (Atsuhiro Kubo)
Framework / multi-paradigm guy,
see https://goo.gl/WfWqP4
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
久保敦啓 (Atsuhiro Kubo)
IT勉強宴会 (2010〜)
http://www.benkyoenkai.org/
PHPメンターズ (2011〜)
http://phpmentors.jp/
マルチパラダイムデザイン読書会 (2015〜)
https://github.com/phpmentors-jp/mpdosaka
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
Multi-Paradigm Design: MPD
(Coplien 1998)
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
James Coplienさんについて
●
http://twitter.com/jcoplien
●
“TRAILBLAZER, INNOVATOR, AND WRITER”
– Domain-Driven Design Europe 2016 の講演者紹介
ページ(以下のURL)より
https://dddeurope.com/2016/jim-coplien.html
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
Lean Architecture
(Coplien 2011)
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
Lean Architecture / DCI Evening
by James Coplien and Gertrud Bjørnvig
October 18, 2017 at Tokyo
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
DCI
(Data, Context and Interaction)
ユースケースA
ユースケースB
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
DCI
(Data, Context and Interaction)
ユースケースA
ユースケースB
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
DCI
(Data, Context and Interaction)
ユースケースA
ユースケースB
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
Context:
ヘリコプターの操縦
DCI
(Data, Context and Interaction)
Data (Entity):
トリニティ
Role:
ヘリコプターパイロット
Data (Entity):
トリニティ
ヘリの操縦ができるトリニティ
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
Lean Architecture
Agile
What the system **does**
Revenue
(DCI)
Lean
What the system **is**
Cost
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
開発の流れ
1. ドメイン分析
2. 共通性・可変性分析
3. クラス → インタフェース、API設計
– “最初はインタフェースしか書かない。もしかしたらスタブくら
いは書くかもしれない。
4. ユースケース、クラス実装
– “実装はいつ書くか?ユースケースのタイミングで。Just In
Time。ユースケースが必要とするインタフェースだけを実装す
る。インタフェースは抽象的な概念で、ロールは具体的なイン
タラクションやアルゴリズムなので、そのタイミングで。”
Lean
Agile
Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved.
DCI Tokyo 1
by James Coplien and Gertrud Bjørnvig
January 10, 2018 at Tokyo
https://dcitokyo.connpass.com/event/74715/
参考
●
"Lean Architecure" at DCI Tokyo Review in Osaka Dec 8.2017
https://www.slideshare.net/ssuser8e5e71/lean-architecure-at-dci-tokyo-review-in-osaka-dec-82017
●
20171207 Gaiaxエンジニア勉強会 プログラマーのためのDCIアーキテクチャ一夜漬け
https://www.slideshare.net/nowavailable/20171207-gaiax-dci-83832723
●
FullOO Home Page
http://fulloo.info/
●
Interview with James Coplien – INNOVATION ROOTS
https://innoroo.com/blog/2017/08/23/interview-with-james-coplien/
●
PHP Mentors -> 「Lean Architecture / DCI Evening」参加レポート
http://phpmentors.jp/post/167325394103/lean-architecture-dci-evening-report
●
Six wise men and the elephant (六人の賢者と象)
https://drive.google.com/open?id=0B_II1zXzv1rpZVdyR1VsSkNhN2M
●
The DCI Architecture: A New Vision of Object-Oriented Programming
http://www.artima.com/articles/dci_vision.html
http://d.hatena.ne.jp/digitalsoul/20100131/1264925022

Contenu connexe

Similaire à Lean Architecture / DCI Evening Report

ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界
Atsuhiro Kubo
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
 

Similaire à Lean Architecture / DCI Evening Report (20)

ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界
 
Pinterest
PinterestPinterest
Pinterest
 
XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)
 
connpassの戦略決定〜チームで取り組んだ価値のデザイン
connpassの戦略決定〜チームで取り組んだ価値のデザイン  connpassの戦略決定〜チームで取り組んだ価値のデザイン
connpassの戦略決定〜チームで取り組んだ価値のデザイン
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
 
「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまで「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまで
 
C# Tokyo ガイド 2020/02
C# Tokyo ガイド 2020/02C# Tokyo ガイド 2020/02
C# Tokyo ガイド 2020/02
 
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったかSIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
 
PowerPoint Presentation Translator
PowerPoint Presentation TranslatorPowerPoint Presentation Translator
PowerPoint Presentation Translator
 
Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編
 
Docker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライドDocker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライド
 
Visual Studio Code のこれまでとこれから at OSC 2021 Online/Spring
Visual Studio Code のこれまでとこれから at OSC 2021 Online/SpringVisual Studio Code のこれまでとこれから at OSC 2021 Online/Spring
Visual Studio Code のこれまでとこれから at OSC 2021 Online/Spring
 
Dutch PHP Conference 2009 report
Dutch PHP Conference 2009 reportDutch PHP Conference 2009 report
Dutch PHP Conference 2009 report
 
Moby Project
Moby ProjectMoby Project
Moby Project
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
 
[社内セッション]DevOps時代の僕の生き方、働き方
[社内セッション]DevOps時代の僕の生き方、働き方[社内セッション]DevOps時代の僕の生き方、働き方
[社内セッション]DevOps時代の僕の生き方、働き方
 
Hk labo guidebook
Hk labo guidebookHk labo guidebook
Hk labo guidebook
 
shinobu.apk #3
shinobu.apk #3shinobu.apk #3
shinobu.apk #3
 
2018/1/30 Django勉強会
2018/1/30 Django勉強会2018/1/30 Django勉強会
2018/1/30 Django勉強会
 
Hamackathon ideathon 2014.02.22
Hamackathon ideathon 2014.02.22Hamackathon ideathon 2014.02.22
Hamackathon ideathon 2014.02.22
 

Plus de Atsuhiro Kubo

Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with Symfony
Atsuhiro Kubo
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
Atsuhiro Kubo
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
Atsuhiro Kubo
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHP
Atsuhiro Kubo
 
Piece Framework 2.0 Background
Piece Framework 2.0 BackgroundPiece Framework 2.0 Background
Piece Framework 2.0 Background
Atsuhiro Kubo
 

Plus de Atsuhiro Kubo (16)

MPD Osaka Extra 5
MPD Osaka Extra 5MPD Osaka Extra 5
MPD Osaka Extra 5
 
Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1
 
Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2
 
The Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applicationsThe Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applications
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with Symfony
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous Testing
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHP
 
Piece Framework 2.0 Background
Piece Framework 2.0 BackgroundPiece Framework 2.0 Background
Piece Framework 2.0 Background
 

Lean Architecture / DCI Evening Report

  • 1. IT Benkyo Enkai #60 December 29, 2017 Lean Architecture / DCI Evening Report PHP Mentors Atsuhiro Kubo @iteman
  • 2. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. 久保敦啓 (Atsuhiro Kubo) Framework / multi-paradigm guy, see https://goo.gl/WfWqP4
  • 3. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. 久保敦啓 (Atsuhiro Kubo) IT勉強宴会 (2010〜) http://www.benkyoenkai.org/ PHPメンターズ (2011〜) http://phpmentors.jp/ マルチパラダイムデザイン読書会 (2015〜) https://github.com/phpmentors-jp/mpdosaka
  • 4. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. Multi-Paradigm Design: MPD (Coplien 1998)
  • 5. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. James Coplienさんについて ● http://twitter.com/jcoplien ● “TRAILBLAZER, INNOVATOR, AND WRITER” – Domain-Driven Design Europe 2016 の講演者紹介 ページ(以下のURL)より https://dddeurope.com/2016/jim-coplien.html
  • 6. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. Lean Architecture (Coplien 2011)
  • 7. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. Lean Architecture / DCI Evening by James Coplien and Gertrud Bjørnvig October 18, 2017 at Tokyo
  • 8. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. DCI (Data, Context and Interaction) ユースケースA ユースケースB
  • 9. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. DCI (Data, Context and Interaction) ユースケースA ユースケースB
  • 10. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. DCI (Data, Context and Interaction) ユースケースA ユースケースB
  • 11. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. Context: ヘリコプターの操縦 DCI (Data, Context and Interaction) Data (Entity): トリニティ Role: ヘリコプターパイロット Data (Entity): トリニティ ヘリの操縦ができるトリニティ
  • 12. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. Lean Architecture Agile What the system **does** Revenue (DCI) Lean What the system **is** Cost
  • 13. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. 開発の流れ 1. ドメイン分析 2. 共通性・可変性分析 3. クラス → インタフェース、API設計 – “最初はインタフェースしか書かない。もしかしたらスタブくら いは書くかもしれない。 4. ユースケース、クラス実装 – “実装はいつ書くか?ユースケースのタイミングで。Just In Time。ユースケースが必要とするインタフェースだけを実装す る。インタフェースは抽象的な概念で、ロールは具体的なイン タラクションやアルゴリズムなので、そのタイミングで。” Lean Agile
  • 14. Copyright (c) 2017 Atsuhiro Kubo <kubo@iteman.jp>, All rights reserved. DCI Tokyo 1 by James Coplien and Gertrud Bjørnvig January 10, 2018 at Tokyo https://dcitokyo.connpass.com/event/74715/
  • 15. 参考 ● "Lean Architecure" at DCI Tokyo Review in Osaka Dec 8.2017 https://www.slideshare.net/ssuser8e5e71/lean-architecure-at-dci-tokyo-review-in-osaka-dec-82017 ● 20171207 Gaiaxエンジニア勉強会 プログラマーのためのDCIアーキテクチャ一夜漬け https://www.slideshare.net/nowavailable/20171207-gaiax-dci-83832723 ● FullOO Home Page http://fulloo.info/ ● Interview with James Coplien – INNOVATION ROOTS https://innoroo.com/blog/2017/08/23/interview-with-james-coplien/ ● PHP Mentors -> 「Lean Architecture / DCI Evening」参加レポート http://phpmentors.jp/post/167325394103/lean-architecture-dci-evening-report ● Six wise men and the elephant (六人の賢者と象) https://drive.google.com/open?id=0B_II1zXzv1rpZVdyR1VsSkNhN2M ● The DCI Architecture: A New Vision of Object-Oriented Programming http://www.artima.com/articles/dci_vision.html http://d.hatena.ne.jp/digitalsoul/20100131/1264925022