swiftのMVPに関して質問があります。
MVPの実装について、こちらなどのサイトを閲覧し、ViewやModel,Presenter間でのイベントの受け渡しは、Presenterのインスタンスを作り、Viewの中でPresenterのメソッドを実行することで、成立していると思っていました。
しかしiOSアプリ設計パターンという書籍の中でMVPの各オブジェクトの連携はプロトコルを使い、インターフェースを実装することでイベントを受け渡していると説明されていました。
MVPというデザインパターンは人によって使い方が違うものなのでしょうか?
それとも何か明確な目的のようなものがあって使い分けるものなのでしょうか?(例えば軽いアプリであれば、プロトコルを使ったイベント通知は工数がかかるので、テストが多少しにくくてもインスタンスメソッドでイベントを渡す方法を取るなど、、、)
また現在Swiftを学習してまだ2ヶ月程度の初心者なのですが、初心者が実際にMVPを取り入れる場合、プロトコルを使うパターンか、インスタンスメソッドでイベントを受けわたすパターンどちらを使った方がいいのでしょうか?
MVP は詳しくありませんが、デザインパターンとして重要なのはそれぞれのクラスがどんな責務を負うかってことで、クラス間の接続にプロトコルを使うかどうかは些細なことだと思います。相手のクラスを直接指定しないことで疎結合になるとか、テストの際に別のものと置き換えが容易などの利点があるとは思いますが、まぁ必要になったらやればいいのでは。
あなたの回答
tips
プレビュー