SlideShare a Scribd company logo
Clean
Architecture
第Ⅴ部
アーキテクチャ Part8
前回まとめ
- メインコンポーネント
- 全てのシステムには、外のコンポーネントを作成・調節・監督する Mainコンポーネントが最低 1つは存
在する
- Mainコンポーネントは究極的な詳細である
- Clean Architectureの円の最も外側の下位レベルのモジュールである
- サービス:あらゆる存在
第Ⅴ部:アーキテクチャ Part8
第1章:サービス:あらゆる存在
- サービス指向とマイクロサービスが人気なのは以下の理由
- サービスがお互いに分離されているように見える
- サービスが開発とデプロイを独立させているように見えるから
- しかし、いずれも部分的にか正しくない
第1章:サービスアーキテクチャ?
- アプリケーションの振る舞いを分離するだけのサービスは、単なる高価な関数呼び出しにしか
すぎない
- サービスはサービスであり、アーキテクチャを定義するものではない
- アーキテクチャにおいて重要なサービスが関心事
第1章:サービスのメリット?
- 誤った分離
- サービス同士が強く分離されるとあるが、変数レベルで分離されているだけで、プロセッサ内やネット
ワーク上にある共有ソースについては分離されておらず、共有しているデータと強く結びついてし
まっている
- 誤った開発とデプロイの独立
- 誤った分離によって、必ずしも独立した開発・デプロイ・運用ができるとは限らない
第1章:子猫の問題
第1章:救世主のオブジェクト
第1章:コンポーネントベースのサービス
第1章:横断的関心事
第Ⅴ部:Part8 まとめ
- サービス指向とマイクロサービスが人気なのは以下の理由
- サービスがお互いに分離されているように見える
- サービスが開発とデプロイを独立させているように見えるから
- しかし、いずれも部分的にか正しくない
- アプリケーションの振る舞いを分離するだけのサービスは、単なる高価な関数呼び出しにしか
すぎない
- サービスはサービスであり、アーキテクチャを定義するものではない
- アーキテクチャにおいて重要なサービスが関心事
- 誤った分離
- サービス同士が強く分離されるとあるが、変数レベルで分離されているだけで、プロセッサ内やネット
ワーク上にある共有ソースについては分離されておらず、共有しているデータと強く結びついてし
まっている
- 誤った開発とデプロイの独立
- 誤った分離によって、必ずしも独立した開発・デプロイ・運用ができるとは限らない

More Related Content

More from tak

可読性について リーダブルコード Part2(ループとロジックの単純化)
可読性について リーダブルコード Part2(ループとロジックの単純化)可読性について リーダブルコード Part2(ループとロジックの単純化)
可読性について リーダブルコード Part2(ループとロジックの単純化)
tak
 
可読性について リーダブルコード part1(表面上の改善)
可読性について リーダブルコード part1(表面上の改善)可読性について リーダブルコード part1(表面上の改善)
可読性について リーダブルコード part1(表面上の改善)
tak
 
DiI/DIコンテナを一から学んでみた
DiI/DIコンテナを一から学んでみたDiI/DIコンテナを一から学んでみた
DiI/DIコンテナを一から学んでみた
tak
 
TypeScriptのdecoratorについて
TypeScriptのdecoratorについてTypeScriptのdecoratorについて
TypeScriptのdecoratorについて
tak
 
Rust + web assemblyやってみた
Rust + web assemblyやってみたRust + web assemblyやってみた
Rust + web assemblyやってみた
tak
 
第ⅴ部:clean architecture アーキテクチャ Part5
第ⅴ部:clean architecture アーキテクチャ Part5第ⅴ部:clean architecture アーキテクチャ Part5
第ⅴ部:clean architecture アーキテクチャ Part5
tak
 
第ⅴ部:clean architecture アーキテクチャ Part2
第ⅴ部:clean architecture アーキテクチャ Part2第ⅴ部:clean architecture アーキテクチャ Part2
第ⅴ部:clean architecture アーキテクチャ Part2
tak
 
第ⅳ部:Clean architecture コンポーネントの原則
第ⅳ部:Clean architecture コンポーネントの原則第ⅳ部:Clean architecture コンポーネントの原則
第ⅳ部:Clean architecture コンポーネントの原則
tak
 
第ⅲ部:Clean architecture 設計の原則
第ⅲ部:Clean architecture 設計の原則第ⅲ部:Clean architecture 設計の原則
第ⅲ部:Clean architecture 設計の原則
tak
 
第ⅱ部:Clean architecture 構成要素から始めよ
第ⅱ部:Clean architecture 構成要素から始めよ第ⅱ部:Clean architecture 構成要素から始めよ
第ⅱ部:Clean architecture 構成要素から始めよ
tak
 
第ⅰ部:Clean Architecture イントロダクション
第ⅰ部:Clean Architecture イントロダクション第ⅰ部:Clean Architecture イントロダクション
第ⅰ部:Clean Architecture イントロダクション
tak
 

More from tak (11)

可読性について リーダブルコード Part2(ループとロジックの単純化)
可読性について リーダブルコード Part2(ループとロジックの単純化)可読性について リーダブルコード Part2(ループとロジックの単純化)
可読性について リーダブルコード Part2(ループとロジックの単純化)
 
可読性について リーダブルコード part1(表面上の改善)
可読性について リーダブルコード part1(表面上の改善)可読性について リーダブルコード part1(表面上の改善)
可読性について リーダブルコード part1(表面上の改善)
 
DiI/DIコンテナを一から学んでみた
DiI/DIコンテナを一から学んでみたDiI/DIコンテナを一から学んでみた
DiI/DIコンテナを一から学んでみた
 
TypeScriptのdecoratorについて
TypeScriptのdecoratorについてTypeScriptのdecoratorについて
TypeScriptのdecoratorについて
 
Rust + web assemblyやってみた
Rust + web assemblyやってみたRust + web assemblyやってみた
Rust + web assemblyやってみた
 
第ⅴ部:clean architecture アーキテクチャ Part5
第ⅴ部:clean architecture アーキテクチャ Part5第ⅴ部:clean architecture アーキテクチャ Part5
第ⅴ部:clean architecture アーキテクチャ Part5
 
第ⅴ部:clean architecture アーキテクチャ Part2
第ⅴ部:clean architecture アーキテクチャ Part2第ⅴ部:clean architecture アーキテクチャ Part2
第ⅴ部:clean architecture アーキテクチャ Part2
 
第ⅳ部:Clean architecture コンポーネントの原則
第ⅳ部:Clean architecture コンポーネントの原則第ⅳ部:Clean architecture コンポーネントの原則
第ⅳ部:Clean architecture コンポーネントの原則
 
第ⅲ部:Clean architecture 設計の原則
第ⅲ部:Clean architecture 設計の原則第ⅲ部:Clean architecture 設計の原則
第ⅲ部:Clean architecture 設計の原則
 
第ⅱ部:Clean architecture 構成要素から始めよ
第ⅱ部:Clean architecture 構成要素から始めよ第ⅱ部:Clean architecture 構成要素から始めよ
第ⅱ部:Clean architecture 構成要素から始めよ
 
第ⅰ部:Clean Architecture イントロダクション
第ⅰ部:Clean Architecture イントロダクション第ⅰ部:Clean Architecture イントロダクション
第ⅰ部:Clean Architecture イントロダクション
 

第ⅴ部:clean architecture アーキテクチャ Part8