generated at
The Clean Architectureの右下の図
The Clean Architectureの右下の図


図の矢印の意味
白抜き矢印は汎化 (?)
A→B のとき A B を継承する
黒矢印
A→B のとき、 A 中で B を使用する
関係のイメージ.ts
interface InputPort {..} interface OutputPort {..} class UseCaseInteractor extends InputPort { // InputPortを継承 method(o: OutputPort) { // OutputPortを使用 o.get(); } } class Presenter extends OutputPort{..} // OutputPortを継承 class Controller { method(i: InputPort) { // InputPortを使用 i.get(); } }


CA:Gatewaysの扱いは?


依存関係逆転の原則 (DIP)に書いた議論と全く同じ事が起こる
何も考えずに実装するとこうなる
しかしこれでは、内側が外側に依存することになるのでどうにしかして避けたい
依存関係逆転の原則 (DIP)を使って、インターフェースを介在させる
最初の方の図の矢印の向きはこれ良いのかな
白抜き実線矢印の汎化がよくわかっていない
これだけの説明ならInput Portの存在は不要になるので、理解に何かが抜けている
Input/Output Portはインターフェースだが、それの実装をどこでするのか