facade
依存関係の悩み
Summer498.icon
こういう依存関係を直したい
https://gyazo.com/a12d4d48620a79a09c080101ee4b04b6
ああ。facade の出番か
https://gyazo.com/abcadb19ccc41ae7c692c9b7d5fe9be5
abstract class が関係を形成していて
concrete class がその関係と同型の関係を形成している
concrete class 同士の関係を切り、abstract class → interface にのみ依存するようにする
ねむい
モジュールの直積みたいなモジュールを作ることがある
3つのモジュールと3つのモジュールから9つのモジュールが生えてくる
https://gyazo.com/19e914149234332f688e5042f21d8e14
実例: 音楽分析マシンで
(ビート,コード,メロディ)$ \times(分析, データ, 表示)
表示が更に (1個, 列, 階層) に分かれる
(メロディ分析1,メロディ分析2,メロディ分析3,メロディ分析4)$ \times(1個, 列, 階層)
それぞれのモジュールを M,V, C に分ける
(メロディ分析1,メロディ分析2,メロディ分析3,メロディ分析4)$ \times(1個, 列, 階層)$ \times(M, V, C)
直和 facade を作ると依存関係がシンプルになる
いつも一緒に使われるモジュールを合併させるので、この操作自体もおかしなことではない
https://gyazo.com/4bf02a349739f9a235151bc8e599552d
直積の直積の……
https://gyazo.com/7432badd4358b7c601a09857fb38ff05
ホントに bundler の方が相応しいな
bundler というか、bundle か