More Related Content
Similar to 第ⅴ部:clean architecture アーキテクチャ Part2
Similar to 第ⅴ部:clean architecture アーキテクチャ Part2 (20)
第ⅴ部:clean architecture アーキテクチャ Part2
- 11. 第2章:境界の解剖学
- デプロイコンポーネント
- デプロイレベルの切り離し方式
- モノリスと同様にコンポーネント間の通信も単なる関数呼び出しなので実装が安価
- スレッド
- 実行のスケジュールや順序を整理する方法
- ローカルプロセス
- ローカルプロセス間の通信は、ソケットかメールボックスやメッセージキューなどの OSが提供している
通信機能を使って行われる
- ローカルプロセスの分離戦略は、モノリスやバイナリコンポーネントと同じで、ソースコードの依存性
は、境界を越えて同じ方向を目指し、常に上位コンポーネントへ向かう
- セービス
- サービスとは、一般的にコマンドラインや同等のシステムコールで開始されるプロセスのこと
- サービスの境界を越える通信は、関数呼び出しと比べると非常に遅いので、通有心が賑やかになら
ないように注意する
- 12. 第Ⅴ部:Part2 まとめ
- バウンダリー:境界線を引く
- ソフトウェアアーキテクチャとは、境界線を引く芸術である
- 初期に境界線をひくのは
- 技術的な決定による、ビジネスロジックが汚染されないようにする
- 優れたアーキテクチャはこれらに依存しない
- 境界線は「重要なもの」と「重要ではないもの」の間に引く
- GUIはビジネスルールにとって重要ではないので、その間に境界線を引く
- データベースは GUIにとって重要ではないので、その間に境界線を引く
- データベースはビジネスルールにとっては重要ではないので、その間に境界線を引く
- 境界の解剖学
- 適切に境界を越えるには、ソースコードの依存関係を管理する必要がある
- あるソースコードのモジュールを変更すると、他のソースコードのモジュールも変更や再
コンパイルするなどしてデプロイし直す必要があるため
- こうした変更に対して守るのが境界の意味するところ