2010-09-27 7 views
2

J'ai quelques questions concernant MVC que je voudrais clarifier. Chez nous, nous utilisons deux frameworks développés en interne pour construire des applications PHP. L'un est un framework MVC tandis que l'autre utilise une conception à trois niveaux avec une couche de présentation, une couche logique et une couche d'accès aux données. Nous trouvons le design à 3 niveaux plus "orienté objet". La question est de savoir s'il manque quelque chose à MVC, car nous finissons généralement par utiliser le framework MVC pour les systèmes CMS simples et l'autre pour les applications plus logiques (comme, par exemple, une application comptable)PHP mvc vs design en couches

merci

Répondre

1

C'est un peu en comparant les pommes et les oranges. Il n'y a pas de "contre". V et C dans MVC sont la couche de présentation, tandis que la logique métier et DAL sont les deux couches dans le M. Tant que vous les conservez, il n'y a aucune raison pour que votre conception ne puisse pas utiliser MVC également.

+0

Merci pour votre réponse. Peut-être n'ai-je pas complètement clarifié mon doute: les framework PHP MVC utilisent généralement des tableaux quand ils retournent des données de storge, alors ma question devrait être de savoir si dans ces cas-là il y a une sorte de mapping entre les tableaux et les objets réels. – Nicolas

+0

@Nicolas malheureusement cela n'a toujours rien à voir avec MVC comme un motif. La plupart des adaptateurs de base de données, y compris ceux des frameworks MVC, peuvent renvoyer des objets et des tableaux. Que vous ayez besoin d'un DataMapper ou non dépend de la correspondance entre les objets de votre domaine et les structures de base de données (incompatibilité) et de la structure logique de domaine et du modèle architectural de source de données que vous souhaitez utiliser. Voir http://martinfowler.com/eaaCatalog/index.html pour un aperçu. – Gordon