はじめに
今回はUniRxでMV(R)Pパターンを構築する記事です。
MVPパターン*1を実装する方法として、単純にUniRxを使うパターン、ZenjectなどのDIを併用して使うパターン(VContainerとか)などありますが、今回はUniRxをつかって実装していきたいと思います。
Web上ではMVPパターンについての記事やブログを見かけますが、今回はこちらの方の実装方法を参考にしたいと思います*2。
サンプルプロジェクト
そもそもMVPパターンとは
設計パターンの一つで、UI関係に使われることが多い。各クラスの機能や、責任を高めることで、他クラスへの影響を下げる(疎結合)ことを目的としたものらしい。
VIewは見た目全般を指していて、Buttonコンポーネントやそのボタンのアニメーションコードを含まれる。
Modelは実体を保持するが、ここでの実体はPlayerのHPなどを指していると思って構わない。
PresenterはViewとModelの橋渡しを行い、ViewとModelを疎結合にする役割を持っている(そして、この操作と通知をUniRxが支えているイメージ)。
おわりに
MVPパターンを実装する方法として、UniRxを使う方式を試しにしてみました。UniRxでも実装はできるのですが、DIに頼ってみるとより良いコードが実装できそうです。あくまで、今回実装したものは参考程度にお考え下さい。
是非、読者登録をしていただくと助かります!