SlideShare une entreprise Scribd logo
1  sur  33
世界一わかりやすいClean Architecture
~ 誤解されがちな二つのことと、おさえるべき二つのこと ~
Atsushi Nakamura
About Me
Copyright 2019 @nuits_jp Slide 2
中村 充志 / Atsushi Nakamura
• リコージャパン株式会社 所属
• Enterprise(おもに金融)系SIerのITアーキテクト
• 「持続可能なソフトウェア」の探求がライフワーク
• 2019年の目標
• 「世界一わかりやすいClean Architecture」で登壇したい
• 「xUnit & Moqハンズオン」開催
• Blog http://www.nuits.jp
• Blog(英語) https://blog.nuits.jp
• Twitter @nuits_jp
ふたつ質問させてください
Copyright 2018 @nuits_jp Slide 3
この図を見たことはありますか?
Copyright 2018 @nuits_jp Slide 4
書籍読んでみましたか?
Copyright 2018 @nuits_jp Slide 5
Easiest Clean Architecture
Today’s Goal
Today’s Goal
全員が
「クリーンアーキテクチャチョットデキル」
ようになること
Easiest Clean Architecture
Overview
Overview
Slide 9Copyright 2018 @nuits_jp
Clean Architectureの次の点についてお話させていただきます。
• 誤解されがちな二つのこと
• おさえるべき二つのこと
Easiest Clean Architecture
注意事項
注意事項
Slide 11Copyright 2018 @nuits_jp
今日お話しすることは、あくまで私の解釈です
• 極端に要約しているので、これがすべてではありません
• 書籍の記載とやや矛盾する点もあります
しかし、私は今日お話しする二つこそ、Clean Architectureの
本質だと思っています。
異論・反論大歓迎
Slide 12Copyright 2018 @nuits_jp
異論・反論大歓迎です。※
オンライン・オフラインいずれでも、ぜひご意見を聞かせてください。
ぜひ議論しましょう!
※ 聞く耳持たないマサカリはご遠慮ください
Easiest Clean Architecture
誤解されがちな二つのこと
Clean Architectureといえば・・・
出典:TheCleanArchitecture
https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
この図が良くできてい過ぎて誤解を招く
Copyright 2018 @nuits_jp Slide 15
ひとつ目の誤解
Clean Architectureとは
「レイヤーをこれらに分割しろ」
という意味でもない
「関心をControllerやUseCase, Entityに分離しろ」
という意味ではないし
ふたつ目の誤解
「PresentationをMVC的に分離しろ(MVVMなどの否定)」
という意味ではないし
「データや処理の流れを一方通行にしろ」
という意味でもない
Copyright 2018 @nuits_jp Slide 17
MVC Model(出展Wikipedia)
では、どういう意味か?
Copyright 2018 @nuits_jp Slide 18
図の解釈
「ソース コードの依存性は、内側(上位レベルの方針)だけに
向かっていなければいけない。」※
Slide 19
※出典:Clean Architecture 達人に学ぶソフトウェアの構造と設計
図の解釈
こうすればよい ※
内側の変化に応じて、外側を呼び出したい場合どうすればよいのか?
Slide 20
※ より厳密な意図は後述
Easiest Clean Architecture
おさえるべき二つのこと
ひとつ目
「依存性は、より上位レベルの方針にのみ向けよ」
ふたつ目
「制御の流れと依存方向は分離し制御せよ」
おさえるべき二つのこと
Copyright 2018 @nuits_jp Slide 22
Easiest Clean Architecture
それあってますか?
はい(当者比)
-The architecture rules are the same! -
(邦訳:アーキテクチャ の ルール は どれ も 同じ で ある!)
著者は明言しています
Copyright 2018 @nuits_jp Slide 25
すべてが同一アーキテクチャに帰結するとすれば
以下は、あくまで一例であることは自明
• レイヤーが4つ※1
• UIがMVC的である
• Web限定
• Output PortはUse Caseとの間「だけ」に
ある※2
• 中央がDomainじゃなくてEntities
※1 とは限らないと書籍にも明記されている
※2 eventみたいなPub/SubがUseCase限定じゃ困っちゃう
あくまで例示であると取れる記載もある
Clean Architecture説明の冒頭に、著名なアーキテクチャ(Hexagonal, Onion,
etc...)には類似の共通点が見られるとある。
そして続けてこう記載されている。
The diagram in Figure is an attempt at integrating all these architectures into a single
actionable idea.
(邦訳:図は、これらのすべてのアーキテクチャを単一の実行可能なアイデアに統合し
たものである。)
該当の図は、アーキテクチャは全てClean Architectureで説明可能であることを
例示したモデルであり、Clean Architectureを採用したソフトウェアの具体例の
一つにすぎない
Copyright 2018 @nuits_jp Slide 27
どんなソフトウェアにも適用可能な
普遍的なアーキテクチャである
だって↓だって言うし
-The architecture rules are the same! -
(邦訳:アーキテクチャ の ルール は どれ も 同じ で ある!)
Chean Architectureとは
Copyright 2018 @nuits_jp Slide 28
Easiest Clean Architecture
さあ具体例を見てみよう!
TBD...
Easiest Clean Architecture
まとめ
まとめ
Slide 32Copyright 2018 @nuits_jp
• Clean Architectureとは、どんなソフトウェアにも適用可能な普遍的な
アーキテクチャである
• Clean Architectureは、次のふたつを誤解されがち
• 参考図の通りに関心を分離するのがClean Architectureである
• PresentationとModelの境界はInputとOutputを分離すべし
• 次のふたつを理解せずClean Architectureは語れない
• 依存性は、より上位レベルの方針にのみ向けよ
• 制御の流れと依存方向は分離し制御せよ
ThankYou!
Any Questions?

Contenu connexe

Tendances

Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフトSettings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフトAtsushi Nakamura
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTatsuya Ishikawa
 
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖Atsushi Nakamura
 
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote).NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote)Akira Inoue
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!Jingun Jung
 
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションAzureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションJingun Jung
 
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetupゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetupgree_tech
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-onJingun Jung
 
SIerで幸せな技術キャリアを築くために
SIerで幸せな技術キャリアを築くためにSIerで幸せな技術キャリアを築くために
SIerで幸せな技術キャリアを築くためにTakanari Konishi
 
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Koichiro Matsuoka
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方増田 亨
 
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認Yoshitaka Seo
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル増田 亨
 
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~Hitachi, Ltd. OSS Solution Center.
 

Tendances (20)

デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定
 
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフトSettings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
 
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖
 
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote).NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
 
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションAzureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
 
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
Hacktoberfest 概要、Node-REDプロジェクト貢献手順Hacktoberfest 概要、Node-REDプロジェクト貢献手順
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
 
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetupゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetup
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-on
 
SIerで幸せな技術キャリアを築くために
SIerで幸せな技術キャリアを築くためにSIerで幸せな技術キャリアを築くために
SIerで幸せな技術キャリアを築くために
 
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
 
de:code報告
de:code報告de:code報告
de:code報告
 
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
 
Node-REDからメール送信
Node-REDからメール送信Node-REDからメール送信
Node-REDからメール送信
 
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
 
Decode報告(提供版)
Decode報告(提供版)Decode報告(提供版)
Decode報告(提供版)
 

Similaire à 世界一わかりやすいClean Architecture alpha-1

岐阜スーパーものづくり講座:第8回
岐阜スーパーものづくり講座:第8回岐阜スーパーものづくり講座:第8回
岐阜スーパーものづくり講座:第8回Shigeru Kobayashi
 
イベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by meイベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by mewhywaita
 
高専カンファレンス@OSC2009SpringTokyo
高専カンファレンス@OSC2009SpringTokyo高専カンファレンス@OSC2009SpringTokyo
高専カンファレンス@OSC2009SpringTokyoKuniaki Igarashi
 
【2022年7月】平成生まれのためのUNIX&IT歴史講座
【2022年7月】平成生まれのためのUNIX&IT歴史講座【2022年7月】平成生まれのためのUNIX&IT歴史講座
【2022年7月】平成生まれのためのUNIX&IT歴史講座法林浩之
 
嘉悦大学 「ICT×社会起業=イノベーション!」
嘉悦大学 「ICT×社会起業=イノベーション!」嘉悦大学 「ICT×社会起業=イノベーション!」
嘉悦大学 「ICT×社会起業=イノベーション!」Ayako Togaeri
 
The invitation to Infrastructure CI
The invitation to Infrastructure CIThe invitation to Infrastructure CI
The invitation to Infrastructure CIirix_jp
 
大手ユーザー企業に入ってマネジメントでやってみたこと
大手ユーザー企業に入ってマネジメントでやってみたこと大手ユーザー企業に入ってマネジメントでやってみたこと
大手ユーザー企業に入ってマネジメントでやってみたことTakuya Kitamura
 
Global Lab Sendai主催 Unity初心者講座2018
Global Lab Sendai主催 Unity初心者講座2018Global Lab Sendai主催 Unity初心者講座2018
Global Lab Sendai主催 Unity初心者講座2018Jun Shimura
 
New総合企画書
New総合企画書New総合企画書
New総合企画書JK-Branding
 
【CLS in 高知LT資料】ビジネスに役立つ!?日本酒コミュニティの作り方
【CLS in 高知LT資料】ビジネスに役立つ!?日本酒コミュニティの作り方【CLS in 高知LT資料】ビジネスに役立つ!?日本酒コミュニティの作り方
【CLS in 高知LT資料】ビジネスに役立つ!?日本酒コミュニティの作り方Mayumi Matsuura
 
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~株式会社MonotaRO Tech Team
 
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―Hisao Soyama
 
グラフィックレコードの研究 / Tokyo Graphic Recorder 清水 淳子 日本デザイン学会 第62回研究発表大会 2015/06/14
グラフィックレコードの研究 / Tokyo Graphic Recorder 清水 淳子 日本デザイン学会 第62回研究発表大会 2015/06/14グラフィックレコードの研究 / Tokyo Graphic Recorder 清水 淳子 日本デザイン学会 第62回研究発表大会 2015/06/14
グラフィックレコードの研究 / Tokyo Graphic Recorder 清水 淳子 日本デザイン学会 第62回研究発表大会 2015/06/14shimizu junko
 
Techcrunch hackathon 2013
Techcrunch hackathon 2013Techcrunch hackathon 2013
Techcrunch hackathon 2013Nao Tokui
 
「ウチビト×ソトビト」の融合で公共空間を楽しくハックしたい!
「ウチビト×ソトビト」の融合で公共空間を楽しくハックしたい!「ウチビト×ソトビト」の融合で公共空間を楽しくハックしたい!
「ウチビト×ソトビト」の融合で公共空間を楽しくハックしたい!さぶみっと!ヨクスル
 
未踏プロジェクト総括とありえたかも知れない未来を探す話
未踏プロジェクト総括とありえたかも知れない未来を探す話未踏プロジェクト総括とありえたかも知れない未来を探す話
未踏プロジェクト総括とありえたかも知れない未来を探す話Takashi Yamamiya
 
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへJun Nakahara
 
シカケ~行動したくなるデザイン~仕掛学(Shikakelogy)の概要と事例
シカケ~行動したくなるデザイン~仕掛学(Shikakelogy)の概要と事例シカケ~行動したくなるデザイン~仕掛学(Shikakelogy)の概要と事例
シカケ~行動したくなるデザイン~仕掛学(Shikakelogy)の概要と事例Akihiro Moriyama
 
冬休みにAzureを学習したい方へ!おすすめマイクロソフト公式サイトまとめ情報
冬休みにAzureを学習したい方へ!おすすめマイクロソフト公式サイトまとめ情報冬休みにAzureを学習したい方へ!おすすめマイクロソフト公式サイトまとめ情報
冬休みにAzureを学習したい方へ!おすすめマイクロソフト公式サイトまとめ情報Rie Moriguchi
 
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)Takashi Koga
 

Similaire à 世界一わかりやすいClean Architecture alpha-1 (20)

岐阜スーパーものづくり講座:第8回
岐阜スーパーものづくり講座:第8回岐阜スーパーものづくり講座:第8回
岐阜スーパーものづくり講座:第8回
 
イベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by meイベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by me
 
高専カンファレンス@OSC2009SpringTokyo
高専カンファレンス@OSC2009SpringTokyo高専カンファレンス@OSC2009SpringTokyo
高専カンファレンス@OSC2009SpringTokyo
 
【2022年7月】平成生まれのためのUNIX&IT歴史講座
【2022年7月】平成生まれのためのUNIX&IT歴史講座【2022年7月】平成生まれのためのUNIX&IT歴史講座
【2022年7月】平成生まれのためのUNIX&IT歴史講座
 
嘉悦大学 「ICT×社会起業=イノベーション!」
嘉悦大学 「ICT×社会起業=イノベーション!」嘉悦大学 「ICT×社会起業=イノベーション!」
嘉悦大学 「ICT×社会起業=イノベーション!」
 
The invitation to Infrastructure CI
The invitation to Infrastructure CIThe invitation to Infrastructure CI
The invitation to Infrastructure CI
 
大手ユーザー企業に入ってマネジメントでやってみたこと
大手ユーザー企業に入ってマネジメントでやってみたこと大手ユーザー企業に入ってマネジメントでやってみたこと
大手ユーザー企業に入ってマネジメントでやってみたこと
 
Global Lab Sendai主催 Unity初心者講座2018
Global Lab Sendai主催 Unity初心者講座2018Global Lab Sendai主催 Unity初心者講座2018
Global Lab Sendai主催 Unity初心者講座2018
 
New総合企画書
New総合企画書New総合企画書
New総合企画書
 
【CLS in 高知LT資料】ビジネスに役立つ!?日本酒コミュニティの作り方
【CLS in 高知LT資料】ビジネスに役立つ!?日本酒コミュニティの作り方【CLS in 高知LT資料】ビジネスに役立つ!?日本酒コミュニティの作り方
【CLS in 高知LT資料】ビジネスに役立つ!?日本酒コミュニティの作り方
 
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
 
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
 
グラフィックレコードの研究 / Tokyo Graphic Recorder 清水 淳子 日本デザイン学会 第62回研究発表大会 2015/06/14
グラフィックレコードの研究 / Tokyo Graphic Recorder 清水 淳子 日本デザイン学会 第62回研究発表大会 2015/06/14グラフィックレコードの研究 / Tokyo Graphic Recorder 清水 淳子 日本デザイン学会 第62回研究発表大会 2015/06/14
グラフィックレコードの研究 / Tokyo Graphic Recorder 清水 淳子 日本デザイン学会 第62回研究発表大会 2015/06/14
 
Techcrunch hackathon 2013
Techcrunch hackathon 2013Techcrunch hackathon 2013
Techcrunch hackathon 2013
 
「ウチビト×ソトビト」の融合で公共空間を楽しくハックしたい!
「ウチビト×ソトビト」の融合で公共空間を楽しくハックしたい!「ウチビト×ソトビト」の融合で公共空間を楽しくハックしたい!
「ウチビト×ソトビト」の融合で公共空間を楽しくハックしたい!
 
未踏プロジェクト総括とありえたかも知れない未来を探す話
未踏プロジェクト総括とありえたかも知れない未来を探す話未踏プロジェクト総括とありえたかも知れない未来を探す話
未踏プロジェクト総括とありえたかも知れない未来を探す話
 
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
 
シカケ~行動したくなるデザイン~仕掛学(Shikakelogy)の概要と事例
シカケ~行動したくなるデザイン~仕掛学(Shikakelogy)の概要と事例シカケ~行動したくなるデザイン~仕掛学(Shikakelogy)の概要と事例
シカケ~行動したくなるデザイン~仕掛学(Shikakelogy)の概要と事例
 
冬休みにAzureを学習したい方へ!おすすめマイクロソフト公式サイトまとめ情報
冬休みにAzureを学習したい方へ!おすすめマイクロソフト公式サイトまとめ情報冬休みにAzureを学習したい方へ!おすすめマイクロソフト公式サイトまとめ情報
冬休みにAzureを学習したい方へ!おすすめマイクロソフト公式サイトまとめ情報
 
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
 

Plus de Atsushi Nakamura

Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Atsushi Nakamura
 
継続的にテスト可能な設計を考える ベータ版
継続的にテスト可能な設計を考える ベータ版継続的にテスト可能な設計を考える ベータ版
継続的にテスト可能な設計を考える ベータ版Atsushi Nakamura
 
App center analyticsを使い倒そう
App center analyticsを使い倒そうApp center analyticsを使い倒そう
App center analyticsを使い倒そうAtsushi Nakamura
 
Old:App center analyticsを使い倒そう
Old:App center analyticsを使い倒そうOld:App center analyticsを使い倒そう
Old:App center analyticsを使い倒そうAtsushi Nakamura
 
Xamarin.forms navigation overview
Xamarin.forms navigation overviewXamarin.forms navigation overview
Xamarin.forms navigation overviewAtsushi Nakamura
 
App center analyticsを使い倒そう
App center analyticsを使い倒そうApp center analyticsを使い倒そう
App center analyticsを使い倒そうAtsushi Nakamura
 
Blue monkey architecture overview
Blue monkey architecture overviewBlue monkey architecture overview
Blue monkey architecture overviewAtsushi Nakamura
 
Xamarin Dev days 2 xamarin.forms ja
Xamarin Dev days 2   xamarin.forms jaXamarin Dev days 2   xamarin.forms ja
Xamarin Dev days 2 xamarin.forms jaAtsushi Nakamura
 
Why prism for xamarin.forms
Why prism for xamarin.formsWhy prism for xamarin.forms
Why prism for xamarin.formsAtsushi Nakamura
 
Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性Atsushi Nakamura
 

Plus de Atsushi Nakamura (10)

Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
 
継続的にテスト可能な設計を考える ベータ版
継続的にテスト可能な設計を考える ベータ版継続的にテスト可能な設計を考える ベータ版
継続的にテスト可能な設計を考える ベータ版
 
App center analyticsを使い倒そう
App center analyticsを使い倒そうApp center analyticsを使い倒そう
App center analyticsを使い倒そう
 
Old:App center analyticsを使い倒そう
Old:App center analyticsを使い倒そうOld:App center analyticsを使い倒そう
Old:App center analyticsを使い倒そう
 
Xamarin.forms navigation overview
Xamarin.forms navigation overviewXamarin.forms navigation overview
Xamarin.forms navigation overview
 
App center analyticsを使い倒そう
App center analyticsを使い倒そうApp center analyticsを使い倒そう
App center analyticsを使い倒そう
 
Blue monkey architecture overview
Blue monkey architecture overviewBlue monkey architecture overview
Blue monkey architecture overview
 
Xamarin Dev days 2 xamarin.forms ja
Xamarin Dev days 2   xamarin.forms jaXamarin Dev days 2   xamarin.forms ja
Xamarin Dev days 2 xamarin.forms ja
 
Why prism for xamarin.forms
Why prism for xamarin.formsWhy prism for xamarin.forms
Why prism for xamarin.forms
 
Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性
 

世界一わかりやすいClean Architecture alpha-1

Notes de l'éditeur

  1. みなさんこんにちは。 ご紹介いただきました。ニュイこと中村です。 今日は 継続的にテスト可能な設計を考える というTitleでお話しさせていただこうと思います。 よろしくお願いいたします。
  2. 中村充志と申します。 リコージャパンのソリューション開発部ってところで、主に金融機関向けの 受託開発でアーキテクトをやってます。 最近は結構ユーザーコミュニティでも登壇させてもらう機会が多くて このコンテンツ自体も去年のMicrosoftの.NET Conf Japanというイベントでお話しさせていただいたものになります。 .NET系の情報発信していることが多い関係で、ちょうど一昨日あたり発表があったのですが ここ3年ほどはMicrosoft MVPをいただいています。 もっともどっちかというと実装スキルよりは、アーキテクチャ的な方面が好きで 最近は持続可能なソフトウェアのアーキテクチャをうだうだ考えるのが趣味になっています。 今年は「世界一簡単なクリーンアーキテクチャ」ってタイトルでどこかで登壇したいなと思ってます。 あと最近界隈で人気のハンディプリンタを触ったり遊べるイベント企画してみたいと思ってますが、 忙しくてなんもできてません。だれか一緒にやりませんか? 興味ある方はぜひTwitterをフォローください。 悲しみばかりが流れてくるかもしれませんが。 というわけで、本題に入る前に、二つほど質問させてください。
  3. というわけで、本セッションの概要ですが
  4. というわけで、本セッションの概要ですが
  5. というわけで、本セッションの概要ですが
  6. では早速、本題に入りたいと思います。
  7. まずはコードを見てください。
  8. まずはコードを見てください。
  9. では早速、本題に入りたいと思います。
  10. では早速、本題に入りたいと思います。
  11. では早速、本題に入りたいと思います。
  12. とうわけで、最後のテスト戦略に関してはふわっとした物になってしまって申しえ訳ありませんが、私からお伝えしたいことは以上です。 最後に改めてまとめたいと思います。
  13. という訳で、本日の内容は以上になります。 ご清聴ありがとうございました。