Imaginez donc que je construis un système Multi User Dungeon en utilisant une application web MVC. Pour décrire les zones que le joueur peut explorer, le système peut contenir un certain nombre de cartes, composées de chambres et de portes - où les portes relient deux salles. Considérer la partie de création du système. Pour créer une carte est facile - je besoin URL comme:Conception d'un schéma d'URL MVC pour un système hiérarchique
/Author/Maps (an index of my maps) /Author/Maps/Create (a new Map) /Author/Maps/Detail/3 (show Map details) /Author/Maps/Edit/3 (edit map details)
utilisant un schéma de routage:/Auteur/{contrôleur}/{action}/{ID}
Ce sont les URL pour les chambres que je besoin d'aide avec. Lorsque je crée une nouvelle salle, j'ai besoin de savoir pour quelle carte je la crée.
/Author/Rooms/CreateIn/[mapID] ?
Et pour l'édition des détails d'une pièce:
/Author/Rooms/Edit/[roomID] /Author/Rooms/Detail/[roomID]
Est-ce que ce travail de système de routage? Et la vue qui répertorie toutes les pièces d'une carte doit-elle être une action "Index" sur le contrôleur Rooms, avec un MapID transmis, ou une action "Rooms" sur un contrôleur Map?
Merci.
Oui, cela fonctionnerait. Cela est également logique car la hiérarchie des données correspond à la hiérarchie d'URL. Est-ce important qu'il existe une possibilité d'URL invalides - en ce sens que vous pourriez avoir un roomID qui n'appartient pas au mapID spécifié? Je suppose que l'on devrait obtenir la bonne carte où l'ID de pièce est fourni, indépendamment de ce qui est dans l'URL. –
Brillant, merci Dennis. –