2016-04-22 5 views
0

Je fais une application avec DDD Je suis en mesure de faire une couche de domaine propre quels domaines sont clairement séparés des autres couches.Comment construire une couche de présentation propre sur l'application iOS

Mais les contrôleurs sur la couche de présentation sont en désordre.

ViewControllers ont plusieurs responsabilités même si le domaine a été séparé avec succès. A ViewController ont tendance à avoir de multiples responsabilités telles que

  • Navigation
  • Deleate
  • Analytics
  • animation
  • Access sur plusieurs domaines, etc.

Il y a souvent beaucoup de ViewControllers avec fonctions légèrement différentes.

Si vous tentez de créer ceux avec la méthode modèle, la hiérarchie de ViewControllers devient trop compliquée.

Si vous essayez de créer ceux sans méthode de modèle, il y aura de nombreux ViewControllers qui partagent certaines fonctions. Cette voie est vulnérable au changement.

Quelles sont les meilleures pratiques? Comment construire une couche de présentation propre sur l'application iOS?

Répondre

2

En pratique, Cocoa MVC conduit souvent à un problème de contrôleur de vue massive. La solution est de passer à une architecture plus fine comme MVP ou VIPER.

Dans MVP sous iOS, la vue est représentée par UIViewController (ou vide UIView), donc UIViewController n'est plus chargé avec la logique métier.

MVP

VIPER a encore plus de couches et résout également la tâche de navigation de l'interface utilisateur.

VIPER