Tous ces modèles, MVC, MVVM MVP, et Modèle de présentation peut être appliqué aux applications Android, mais sans un cadre tiers, il n'est pas facile d'obtenir une structure bien organisée et un code propre.
MVVM est issu de PresentationModel. Lorsque nous appliquons MVC, MVVM y Modèle de présentation pour une application Android, ce que nous voulons vraiment c'est avoir un projet clairement structuré et surtout plus facile pour les tests unitaires.
À l'heure actuelle, sans framework tiers, vous avez généralement beaucoup de code (comme addXXListener(), findViewById(), etc.), qui n'ajoute aucune valeur commerciale. ), qui n'apporte aucune valeur ajoutée à l'entreprise. De plus, vous devez exécuter des tests unitaires Android au lieu de tests JUnit normaux, ce qui prend des heures et rend les tests unitaires peu pratiques.
Pour ces raisons, il y a quelques années, nous avons lancé un projet open source, RoboBinding - Un cadre de modèle de présentation lié aux données pour la plate-forme Android. RoboBinding vous aide à écrire du code d'interface utilisateur qui est plus facile à lire, à tester et à maintenir. RoboBinding supprime le besoin de code inutile comme addXXListener ou autre et déplace la logique de l'interface utilisateur vers le modèle de présentation, qui est une POJO et peut être testé via tests JUnit normaux . RoboBinding lui-même est livré avec plus de 300 tests JUnit pour garantir sa qualité.
2 votes
Étant donné que la plate-forme Android intègre un noyau Linux, il s'agit d'une suite logicielle beaucoup trop vaste pour répondre à cette question autrement que par "tous les modèles cités jusqu'à présent, et probablement quelques nouveaux si vous regardez attentivement".
5 votes
@Pete, Ok, vous avez probablement raison, mais en même temps, je ne vais pas aussi loin que le noyau, je suis intéressé par la surface de l'application, par exemple dans iOS.
UIViewController
mis en œuvre en utilisant MVC (UIViewController
est un contrôleur et sa RacineUIView
est vue),UIApplication
utilise la délégation en ayant le délégué d'application comme délégué et ainsi de suite...4 votes
Je pense que vous devriez vraiment apprendre Android à partir de la base et ne pas essayer de "porter" vos connaissances d'iOS à Android. Il y a beaucoup de bons livres sur le marché. Apress en fait un tas. Si vous comprenez le cycle de vie des applications et des services dans Android, vous devriez être capable de concevoir des applications correctement.
2 votes
La magie : raywenderlich.com/109843/common-design-patterns-for-Android
0 votes
Cela pourrait aider : stackoverflow.com/a/49694378
0 votes
MVC sur Android : upday.github.io/blog/model-view-controller