波動拳は依存のチェーンより遥かに良い
#ソフトウェアアーキテクチャ(主にReact)について
依存関係のチェーン「App は X を利用しているけど X は Y を利用している、App からは X だけが見えていて Y が見えない」の状況が最悪であり、Provider 波動拳はむしろそれを「App は X と Y を呼び出している」形にできているので美しいコードだと思う
波動拳は「表面的なインパクトの大きさ」にすぎず(実際には、Provider と Provider の間に依存関係があったりする可能性もあるので、そうなるとややこしくなってくるが)、「本質的な複雑さ」には直結しない。
App は Clean Architecture における Main と似ている気がする
ありえる反例: 「あるコンテキストが別のコンテキストを利用する」依存関係が増えるとやっぱりつらい
https://zenn.dev/uhyo/articles/provider-tower-to-recoil
https://scrapbox.io/files/65c39778bcdbcd00243b13fd.png
code:波動拳を使う例.tsx
export const App: FC = () => {
return (
<ARprovider>
<BProvider>
<InnerApp />
</BProvider>
</ARpvider>
);
};