Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Clean Architecture 達人に学ぶソフトウェアの 構造と設計_第10回
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
masyus_work
November 11, 2020
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Clean Architecture 達人に学ぶソフトウェアの 構造と設計_第10回
masyus_work
November 11, 2020
Transcript
20 slides
Clean Architecture 達人に学ぶソフトウェアの 構造と設計【輪読会】 第10回:第21章~第22章 2020/11/11 @masyus_work
アーキテクチャ ≠ フレームワーク フレームワークはツールであり、 生き方ではない 第21章 叫ぶ アーキテクチャ
第21章 叫ぶアーキテクチャ 1. 建物のアーキテクチャの例 - 戸建て - 図書館 2. ソフトウェアアーキテクチャはシステムのユースケースを支える構造
- 「戸建て」や「図書館」が建物のユースケースを叫んでいる - ソフトウェアアーキテクチャもアプリケーションのユースケースについて 叫ぶべき 3. アーキテクチャはフレームワークに関するものではない
第21章 叫ぶアーキテクチャ 1. 優れたアーキテクチャは環境やツールの意思決定を延期・留保できる 2. 「ウェブ」=「提供の仕組み(IOデバイス)」 - アプリケーションアーキテクチャもウェブをそのように扱うべき 3. 「フレームワーク」=「ツール」
- フレームワークにアーキテクチャを乗っ取られないこと 4. テスト可能であるべき
第22章 クリーン アーキテクチャ
第22章 クリーンアーキテクチャ 1. アーキテクチャの事例 - ヘキサゴナルアーキテクチャ - DCIアーキテクチャ - BCE
- ...いずれも関心事の分離が目的
第22章 クリーンアーキテクチャ アーキテクチャは 1. フレームワーク非依存 2. テスト可能 3. UI非依存 4.
データベース非依存 5. 外部エージェント非依存
第22章 クリーンアーキテクチャ 依存性のルール
第22章 クリーンアーキテクチャ 1. エンティティ - 企業全体の最重要ビジネスルールをカプセル化したもの 2. ユースケース - アプリケーション固有のビジネスルールが含まれている
- エンティティに入出力するデータの流れを調整 3. インターフェイスアダプター - データ変換 - From: エンティティやユースケースに便利なフォーマット - To: DBやWeb等の外部エージェントに便利なフォーマット
第22章 クリーンアーキテクチャ 4. フレームワークとドライバ
第22章 クリーンアーキテクチャ 境界を超える 依存関係逆転の法則
第22章 クリーンアーキテクチャ 典型的なシナリオ
復習しよう
クイズ1 「ソフトウェアアーキテクチャは システムの◦◦◦◦◦◦を支える構造」 → ◦に入る文字を答えよ
クイズ1 「ソフトウェアアーキテクチャは システムの◦◦◦◦◦◦を支える構造」 → ◦に入る文字を答えよ 正解は... 「ユースケース」でした!!!
クイズ2 「優れたアーキテクチャは◦◦や◦◦◦の意思 決定を延期・留保できる」 → ◦に入る文字を答えよ
クイズ2 「優れたアーキテクチャは◦◦や◦◦◦の意思 決定を延期・留保できる」 → ◦に入る文字を答えよ 正解は... 「環境」「ツール」でした!!!
クイズ3 「ユースケースには、アプリケーション固有の ◦◦◦◦◦◦◦が含まれている」 「ユースケースは、エンティティに入出力する◦◦◦の 流れを調整する」 → ◦に入る文字を答えよ
クイズ3 「ユースケースには、アプリケーション固有の ◦◦◦◦◦◦◦が含まれている」 「ユースケースは、エンティティに入出力する◦◦◦の 流れを調整する」 → ◦に入る文字を答えよ 正解は... 「ビジネスルール」「データ」でした!!!
輪読会 第10回は以上になります ありがとうございました!
More Decks by masyus_work
See All by masyus_work
ふりかえりとチームクレドが僕らにもたらしてくれたもの
masyus
2
360
【オンライン】Clean Architecture 達人に学ぶソフトウェアの構造と設計 輪読会 #16
masyus
0
180
【オンライン】Clean Architecture 達人に学ぶソフトウェアの構造と設計 輪読会 #1
masyus
0
220
テスト駆動開発 輪読会 Vol.5
masyus
0
210
Chrome拡張で便利ツール作ってたら、思いがけず社内ツールを作ることになった話
masyus
0
190
開発速度UP & エンジニアポートフォリオ作成を同時実現する為の取り組み
masyus
0
220
メール文面確認テストを作りながら、テストについて改めて考えてみた
masyus
0
220
Other Decks in Technology
See All in Technology
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
1
860
大江戸Ruby会議でデータベース クライアントの話をするのは 間違っているだろうか
yahonda
1
120
Kiro Crew 入門 (手を離しても進む仕事) | 目指せ Kiro マスター 11
inariku
PRO
4
740
Biohub - Cell Tracking During Development 5th place solution
rist
0
140
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.2k
あの日、見つかっていなかったらどうなっていたか
kazzpapa3
2
170
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
140
ゼロから作るWebアプリの新定番!?Amplify Gen 2 × AWS Blocksで実現する「開発速度とRDBの柔軟性のいいとこ取り」
amixedcolor
1
250
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
240
これからのデータエンジニアの役割について考える / Rethinking the Role of Data Engineers in the AI Era
okiyuki99
0
460
Microsoft Entra Kerberos で実現するクラウド デバイス管理
tamaiyutaro
2
680
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.7k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
New Earth Scene 8
popppiees
5
2.8k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
940
RailsConf 2023
tenderlove
30
1.6k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
ラッコキーワード サービス紹介資料
rakko
5
5.8M
How to Talk to Developers About Accessibility
jct
2
620
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
1
310
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k