MVPとクリーンアーキテクチャを実装しているアンドロイドアプリを開発しています。MVP上のstrings.xmlとクリーンアーキテクチャ
- プレゼンターとビューのインタフェースを持つ一つのコアモジュール、...
- 1つのドメインのコア実装とリポジトリとモジュール、データソース..
- アプリケーションモジュール(そう:私は次のシナリオを持っていますフラグメント/アクティビティ)。
現在、strings.xmlファイルはアプリケーションモジュールに含まれていますが、私はそれがコモンズモジュールにあるべきかどうかを考えています。問題は、発表者がテキストをビューに設定する必要があることがあるため、発表者はstrings.xmlにアクセスする必要があることです。私は2つの可能な解決策で考えました:
1)アプリケーションモジュールで実装され、プレゼンターに注入されるコアモジュール上にTextHelperインターフェースを作成します。プレゼンターはこのヘルパーを使用して必要な文字列を取得します。 (これは私が実装した解決策です)。
2)strings.xmlファイルを共通モジュールに移動し、コアモジュールからファイルにアクセスできるようにします。しかし、この解決策には問題があります。プレゼンターにはコンテキストがありません。
あなたはどう思いますか?最善のアプローチは何ですか?事前
この質問には、複数の可能性があるため、多くの回答があると思います。私の個人的な意見では、文字列はビューの一部であるため、プレゼンターはそれについて知る必要はありません。次に、ビューには内部に文字列を含むメッセージを表示するメソッドがあり、プレゼンタは単にそれらを呼び出す必要があります。 – adalPaRi
このサンプルプロジェクトはhttp://github.com/mmirhoseini/marvelで見ることができ、この記事ではhttps://hackernoon.com/yet-another-mvp-article-part-1-lets-get-to- know-the-project-d3fd553b3e21を使用して、MVPをよりよく理解してください。 –
ビジネスロジックの一部がユーザーに適切なテキストを表示することがあるため、プレゼンターとユースケース/インタラクタが文字列や書式を処理する必要があります。これにより、ビューにその責任を任せず、スローでフレークな計測テストを使用する代わりに、正しいテキストが出力されているかどうかを確認する単体テストを行うことができます。 –