Quelles sont les "méthodes de conception" alternatives au Model View Controller? MVC semble être populaire (SO a été construit avec, je sais beaucoup), mais est-ce la seule méthode utilisée?
Il en existe bien d'autres:
L'une des meilleures descriptions de plusieurs modèles d'architecture d'application interactive différents est ce blog très détaillé et bien documenté . Il couvre Model-View-Controller, trois versions différentes de Model-View-Presenter, plusieurs versions différentes de Presentation-Abstraction-Control, Supervising Controller, Passive View et Hierarchical MVC.
Un autre modèle intéressant est le modèle Presenter First par Atomic Objects. Ce n'est pas seulement un modèle de conception, c'est aussi un modèle de processus. IOW: le nom "Presenter First" n'est pas arbitraire, il décrit en fait un processus de développement, dans lequel le Presenter est écrit en premier, conduisant la conception du reste du système.
MVC est un modèle architectural. Ce sont les autres modèles architecturaux que vous pouvez essayer (à partir de Wikipedia):
Ceux-ci sont disponibles ici dans Wikipedia .
[~ # ~] dci [~ # ~] - "Données, communication et interaction"
http://www.antonioshome.net/kitchen/nbdci/index.php#dci-introduction
http://www.artima.com/articles/dci_visionP.html
Le sens commun de la programmation orientée objet - MVC vs DCI
MVC fait partie d'un plus grand groupe de modèles de conception. Je n'ai aucune idée de votre expérience, donc je ne sais pas comment cibler cette réponse. Je suis un programmeur .NET, mais j'ai trouvé le Java book Head First Design Patterns extrêmement utile. Les modèles de conception sont généralement divisés en groupes avec d'autres modèles qui aident à résoudre problèmes similaires.
J'ai également trouvé le site Web Data Object Factory très utile également. Vous devriez chercher des ressources dans votre langue préférée.
Nous n'utilisons pas tant une alternative mais un hybride appelé MVC-ARS .
Je connais les [~ # ~] mvcs [~ # ~] de Joe Berkovitz.
Le professeur Kowarschick a utilisé cette approche pour développer le [~ # ~] vclsd [~ # ~] - Pattern (Wiki écrit en allemand! Peut-être que quelqu'un a le temps de le traduire - moi je ne suis qu'un débutant en programmation)
MVCS: Model View Control Service
VCLSD: Afficher les données du service de logique de contrôle
Que diriez-vous de flux.js de Facebook? Je sais que cela dépend de la plate-forme, mais c'est une architecture de flux de données utilisée par FB en remplacement de MVC, donc je pense que vous pouvez également en tirer des idées.