dans les modèles d'architecture d'applications d'entreprise, Martin Fowler écrit:modèles pour les applications non-couches
Ce livre est donc sur la façon dont vous décomposez une application d'entreprise en couches et comment ces couches travailler ensemble. La plupart des applications d'entreprise non triviale utilisent une architecture en couches d'une certaine forme, mais dans certaines situations d'autres approches, telles que tuyaux et filtres, sont précieuses. I ne pas aller dans ces situations, se concentrant plutôt sur le contexte d'une architecture en couches parce que c'est le le plus largement utile.
Quels modèles existent pour créer des applications/parties non-multicouches d'une application? Prenez un moteur de modélisation statistique pour une institution financière. Il pourrait y avoir une couche pour l'accès aux données, mais je m'attends à ce que la majeure partie du code soit dans une seule couche. Souhaitez-vous toujours voir des patterns Gang of Four dans une telle couche? Que diriez-vous d'un modèle de domaine? Utiliseriez-vous OO du tout, ou serait-ce purement fonctionnel?
La citation mentionne les tuyaux et les filtres comme modèles alternatifs aux couches. Je peux facilement imaginer un tel moteur utilisant des tuyaux comme un moyen de décomposer le traitement des données. Quels autres modèles existent? Existe-t-il des modèles communs pour des domaines tels que l'ordonnancement des tâches, l'agrégation des résultats ou la répartition du travail? Quelles sont les alternatives à MapReduce?