Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Clean Architecture 達人に学ぶソフトウェアの 構造と設計_第10回
Search
masyus_work
November 11, 2020
Technology
0
210
Clean Architecture 達人に学ぶソフトウェアの 構造と設計_第10回
masyus_work
November 11, 2020
Tweet
Share
More Decks by masyus_work
See All by masyus_work
ふりかえりとチームクレドが僕らにもたらしてくれたもの
masyus
2
300
【オンライン】Clean Architecture 達人に学ぶソフトウェアの構造と設計 輪読会 #16
masyus
0
130
【オンライン】Clean Architecture 達人に学ぶソフトウェアの構造と設計 輪読会 #1
masyus
0
170
テスト駆動開発 輪読会 Vol.5
masyus
0
150
Chrome拡張で便利ツール作ってたら、思いがけず社内ツールを作ることになった話
masyus
0
150
開発速度UP & エンジニアポートフォリオ作成を同時実現する為の取り組み
masyus
0
180
メール文面確認テストを作りながら、テストについて改めて考えてみた
masyus
0
190
Other Decks in Technology
See All in Technology
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
3.9k
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
7
1.8k
Tirez profit de Messenger pour améliorer votre architecture
tucksaun
1
130
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
110
お問い合わせ対応の改善取り組みとその進め方
masartz
1
350
IAMのマニアックな話 2025 ~40分バージョン ~
nrinetcom
PRO
8
890
バックエンドエンジニアによるフロントエンドテスト拡充の具体的手法
kinosuke01
1
660
Road to SRE NEXT@仙台 IVRyの組織の形とSLO運用の現状
abnoumaru
0
380
Go の analysis パッケージで自作するリファクタリングツール
kworkdev
PRO
1
410
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
200
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
120
ウェブアクセシビリティとは
lycorptech_jp
PRO
0
250
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
490
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Unsuck your backbone
ammeep
670
57k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Docker and Python
trallard
44
3.3k
Fireside Chat
paigeccino
37
3.3k
Scaling GitHub
holman
459
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
How GitHub (no longer) Works
holman
314
140k
Transcript
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回は以上になります ありがとうございました!