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
220
Clean Architecture 達人に学ぶソフトウェアの 構造と設計_第10回
masyus_work
November 11, 2020
Tweet
Share
More Decks by masyus_work
See All by masyus_work
ふりかえりとチームクレドが僕らにもたらしてくれたもの
masyus
2
320
【オンライン】Clean Architecture 達人に学ぶソフトウェアの構造と設計 輪読会 #16
masyus
0
150
【オンライン】Clean Architecture 達人に学ぶソフトウェアの構造と設計 輪読会 #1
masyus
0
180
テスト駆動開発 輪読会 Vol.5
masyus
0
170
Chrome拡張で便利ツール作ってたら、思いがけず社内ツールを作ることになった話
masyus
0
150
開発速度UP & エンジニアポートフォリオ作成を同時実現する為の取り組み
masyus
0
190
メール文面確認テストを作りながら、テストについて改めて考えてみた
masyus
0
200
Other Decks in Technology
See All in Technology
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
910
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
8
1.1k
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
3
130
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
2.1k
Digitization部 紹介資料
sansan33
PRO
1
5.6k
Wasmのエコシステムを使った ツール作成方法
askua
0
220
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
1
200
Copilot Studio ハンズオン - 生成オーケストレーションモード
tomoyasasakimskk
0
130
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
0
310
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
410
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
1k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Fireside Chat
paigeccino
40
3.7k
Visualization
eitanlees
149
16k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Site-Speed That Sticks
csswizardry
13
910
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Documentation Writing (for coders)
carmenintech
75
5.1k
4 Signs Your Business is Dying
shpigford
185
22k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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回は以上になります ありがとうございました!