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
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
960
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
290
研究開発と製品開発、両利きのロボティクス
youtalk
1
530
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
10k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
460
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
170
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
350
Rustから学ぶ 非同期処理の仕組み
skanehira
1
140
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
330
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
The Language of Interfaces
destraynor
161
25k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Rails Girls Zürich Keynote
gr2m
95
14k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
Producing Creativity
orderedlist
PRO
347
40k
How GitHub (no longer) Works
holman
315
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
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回は以上になります ありがとうございました!