Android 開発に使用するアーキテクチャ パターンはどれですか? 今まではMVC
パターンでBroadcastReceivers
レイヤー間の通信を行ってきましたが、これよりも優れたものがあるはずです。ブロードキャストは、すべての登録と登録解除で私を殺しています。したがって、どのような回答も高く評価されます。
前もって感謝します
Android 開発に使用するアーキテクチャ パターンはどれですか? 今まではMVC
パターンでBroadcastReceivers
レイヤー間の通信を行ってきましたが、これよりも優れたものがあるはずです。ブロードキャストは、すべての登録と登録解除で私を殺しています。したがって、どのような回答も高く評価されます。
前もって感謝します
まず、アーキテクチャは、使用しているプログラミング プラットフォームではなく、開発しているシステム/アプリケーションに関連するものです。はい、一部の言語は特定の慣行とパターンを強制しますが、これは特定のアプリケーションに対して別のアーキテクチャがより適切であることを意味するものではありません。
すべての Android アプリケーションに対応するこのようなユニバーサル アーキテクチャはありません。
MVC
とbroadcast
(または一般的にイベント駆動型のコミュニケーション) は、まったく異なる目的を持っています。
簡単に言えば、MVC
プレゼンテーションからデータを分離することであり、broadcast
未知の当事者間の通信を促進することです (つまり、broadcast
受信者は、どのコンポーネントがそれを送信するかに関係なく、特定のイベントに応答できます)。
それは悪い質問です。答えは常に「あなたが書こうとしているプログラムに適合するものは何でも」です。パターンは、問題の解決策としてプラグインすることを意図したものではありません。パターンは、アーキテクチャを記述するための言語です。
しかし、あなたの質問の残りの部分を考えると、あなたは本当に奇妙なことをしていると思います. 非常に基本的な Android アプリは一般的に MVC です。Activity は Controller、View クラスは View であり、Model はユーザーが作成します (または単純なアプリの場合は気にしない場合があります)。一般に、BroadcastReceivers はめったに使用されません。これらは、OS または他のアプリケーションからの非同期イベントを通知することを目的としています。アプリ内通信用ではありません。また、Android には「レイヤー」はありません。正確には何をしているのですか?
確かに、あるレベルでは、Android アプリのアーキテクチャは 1 つではありませんが、アーキテクチャ上の優れたアイデアがあることは間違いないと思います。MVC は、Android では非常に優れたアイデアです。それをサポートするために BroadcastReceivers を使用する必要はありません。おそらく ContentObservers で多くのことができます。また、RESTful Android に関する Virgil Dobjanschi の講演もご覧ください。ご覧ください: http://www.youtube.com/watch?v=xHXn3Kg2IQE