Bonne façon de passer des variables pour les éléments communs aux modèles Mako?

StackOverflow https://stackoverflow.com/questions/1830042

  •  11-09-2019
  •  | 
  •  

Question

J'utilise les fonctions d'héritage de Mako pour tenir compte des éléments de page communs, comme un en-tête et pied de page, dans un modèle « base.mako ». contrôleurs spécifiques à la page d'utiliser leurs propres modèles, qui héritent base.mako.

base.mako a besoin d'un ensemble de variables - par exemple, le nom de l'utilisateur connecté va dans l'en-tête pour toutes les pages. Cependant, il est le contrôleur individuel de page qui sélectionne et rend le modèle, et est donc responsable des variables en lui passant.

Je préférerais tous ces contrôleurs page pas à savoir ce que le modèle de base a besoin dans son contexte. Qu'est-ce qu'un bon moyen d'établir le contexte du modèle de base dans une telle situation?

Merci d'avance!

Était-ce utile?

La solution

Vous avez deux choix de conception OO pour vos contrôleurs de la page.

Caractéristiques communes peuvent être gérées de deux manières.

  • L'héritage. Tous les contrôleurs de page sont sous-classes d'une classe commune qui fournit les attributs communs.

  • Délégation. Tous les contrôleurs de page font partie d'un pipeline, où un processus commun (soit avant, soit après que le contrôleur de la page) se replie dans l'information supplémentaire.

Vous devez choisir un.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top