私はRx(特にRxSwift)を学んでおり、アーキテクチャ、レイヤー、境界について質問があります。ReactiveX、モバイルアプリのアーキテクチャとレイヤーについて
私は通常、MVPまたはVIPER上の階層化されたアーキテクチャ(データ、ドメイン、プレゼンテーション)に慣れています。このプロジェクトでは、Reactiveアプリケーションの推奨アーキテクチャであるMVVMを使用しています。これらは、私の現在の協力者です:
**** Presentation ******************************************
________________________
| |
| GameViewController |
| |
| ____________ |
| | | |
| | BoardView | |
| |____________| |
| |
|________________________|
|
|
\|/
________________________
| |
| GameViewModel |
|________________________|
|
**** Domain **************** | *****************************
\|/
________________________
| |
| GameController |
|________________________|
ユーザーがタップ(移動します)BoardView
がいるかどうかを確認するためにGameController
と通信でメソッドを呼び出しますGameViewController
によって観察されているイベントを、発します移動が正しいとし、チェーン内の各イベントで別のイベントが発生し、最後にBoardView
が移動の正確性に従ってその内容を描画します。
私の質問は、この流れは正しいですか?このようなやり方に固執しなければならないのですか、それともより良い対応方法がありますか?たとえば、おそらくBoardView
は、ビューコントローラが関与せずに、ビューモデルに直接話すことができ、境界の破損や「ルール違反」はありません。
私はRxアーキテクチャの面で少し失われていますが、MVVMはシンプルですが、SOLIDにするためにはより多くの共同作業者を作成しなければならず、オブザーバブルのチェーンが少し工夫される可能性があります。
本当にありがとうございます!ありがとう:)
こんにちはダニエル。あなたの答えをありがとう:)私はあなたが再び答えることができると確信している新しい質問があります:D任意のヘルプは本当に感謝されます:https://stackoverflow.com/questions/47305554/rx-scan-cannot-generate-observable- 〜から種子と他の観察可能なおかげで! – emenegro