質問: num1 + num2; } } ``` は、Modelだけが知っていても、「合計する」ということ、つまり「Plusメソッドを使う」ということは、Presenterも知っていなければなりません。 そのため、インタフェースでPresenterに渡すことができず、Modelクラスのインスタンスを直接渡すことになってしまいます...。 (後にロジックを増やすとなった場合に、インタフェースの変更が必要になる。それではインタフェースを使う意味がない) delegateをインタフェースで渡せば良いかとも考えたのですが、 delegateにメソッドをPresenter側で登録するようにすれば、Presenterが具体的な処理ロジックを知ることになってしまうし、 Model側で登録するとしても、Presenter側でdelegate呼び出し後、Model側でどのように処理すれば良いか判定できない。 (引数によって条件分岐させるならdelegateの意味がない) 後で処理ロジックが追加になっても、内容を変更せずに済むようなインタフェースを、ModelからPresenterに提供したいのですがいい方法が全く思いつきません。 ### 補足情報(FW/ツールのバージョンなど) VS2017, .NET Framework 4.6.1 teratail初心者で、初めて質問させていただきます。 作法に反している部分等ありましたら、申し訳ありませんがご指摘いただければと思います。 よろしくお願いします。
回答: その記事は依存状態について書かれていないのであまり好きではありません。 「Webアプリケーション開発者から見た」と書いていますよね? P は M に依存していいので、インターフェースを使ってやり取りしなくても直接 M のメソッドを使って大丈夫です。