をdupicated、GETCURRENTUSER()またはupdateUser(のようないくつかの共通のAPI呼び出しが存在しなければならない)MVPパターンアンドロイドは、それらのそれぞれがかなりユニークである一方で、私は、カップルの活動を持っているプレゼンターのメソッド
MVPパターンを考える(I現在MVP mosbyを使用しています)。これらのアクティビティはそれぞれ1つのプレゼンターしか持たないためです。私が開発しているときに、これらのプレゼンター全員にこれらの一般的なAPI呼び出しの多くをコピー貼り付けすることがあるようです。 C、Eが使用される
、 は
B、A、Cは、プレゼンタ1で使用されている
D.
、Iは、APIコールA、B、Cを有していると言う、D、Aはプレゼンター2で使用されています発表者3 .....などです。継承する「共通の」プレゼンターを見つけることは本当に難しいです。だから、API呼び出し、CとAは基本的に貼り付けコピーされます。
私の質問は、現在の状況では、コードのコピー貼り付けを避ける最善の方法は何ですか?それはほとんど回避できないのですか?または、OOPを行うのに一生懸命努力すべきですか?APIコールが毎回異なるプレゼンターから追加/削除されるたびにリファクタリングのリスクがありますか?
APIコールはPresenterにありますか? InteractorsにAPI呼び出しを入れることを検討しましたか? APIまたは内部データベースからデータを取得する責任があります。このコードをモデルレイヤー上に置く方が良いでしょう。とにかく、あなたのAPIのコンサルティングをどのようにして消費していますか? Retrofitを使用すると、残りのクライアントのコードがきれいになります。 –
このサンプルプロジェクトはhttp://github.com/mmirhoseini/marvelでご覧になれます。この記事はhttps://hackernoon.com/yet-another-mvp-article-part-1-lets-get-to- know-the-project-d3fd553b3e21を使用して、MVPをよりよく理解してください。 –