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
190
Clean Architecture 達人に学ぶソフトウェアの 構造と設計_第10回
masyus_work
November 11, 2020
Tweet
Share
More Decks by masyus_work
See All by masyus_work
ふりかえりとチームクレドが僕らにもたらしてくれたもの
masyus
2
290
【オンライン】Clean Architecture 達人に学ぶソフトウェアの構造と設計 輪読会 #16
masyus
0
120
【オンライン】Clean Architecture 達人に学ぶソフトウェアの構造と設計 輪読会 #1
masyus
0
160
テスト駆動開発 輪読会 Vol.5
masyus
0
140
Chrome拡張で便利ツール作ってたら、思いがけず社内ツールを作ることになった話
masyus
0
140
開発速度UP & エンジニアポートフォリオ作成を同時実現する為の取り組み
masyus
0
170
メール文面確認テストを作りながら、テストについて改めて考えてみた
masyus
0
180
Other Decks in Technology
See All in Technology
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
200
#TRG24 / David Cuartielles / Post Open Source
tarugoconf
0
590
When Windows Meets Kubernetes…
pichuang
0
310
生成AI × 旅行 LLMを活用した旅行プラン生成・チャットボット
kominet_ava
0
160
技術に触れたり、顔を出そう
maruto
1
160
30分でわかる「リスクから学ぶKubernetesコンテナセキュリティ」/30min-k8s-container-sec
mochizuki875
3
450
Godot Engineについて調べてみた
unsoluble_sugar
0
410
機械学習を「社会実装」するということ 2025年版 / Social Implementation of Machine Learning 2025 Version
moepy_stats
6
1.5k
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
1.5k
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
180
re:Invent 2024のふりかえり
beli68
0
110
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
12k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Language of Interfaces
destraynor
155
24k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Building Applications with DynamoDB
mza
93
6.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
What's in a price? How to price your products and services
michaelherold
244
12k
The World Runs on Bad Software
bkeepers
PRO
66
11k
We Have a Design System, Now What?
morganepeng
51
7.3k
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回は以上になります ありがとうございました!