Boa maneira de passar variáveis ​​de elementos comuns para modelos Mako?

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

  •  11-09-2019
  •  | 
  •  

Pergunta

Estou usando os recursos de herança do Mako para fatorar elementos comuns da página, como cabeçalho e rodapé, em um modelo "base.mako".Controladores específicos de página usam seus próprios modelos, que herdam base.mako.

base.mako precisa de um conjunto de variáveis ​​- por exemplo, o nome do usuário conectado aparece no cabeçalho de todas as páginas.No entanto, é o controlador de página individual que seleciona e renderiza o modelo e, portanto, é responsável por passar variáveis ​​para ele.

Prefiro que todos esses controladores de página não precisem saber o que o modelo base precisa em seu contexto.Qual é uma boa maneira de estabelecer o contexto do modelo base em uma situação como esta?

Desde já, obrigado!

Foi útil?

Solução

Você tem duas opções de design OO para seus controladores de página.

Recursos comuns podem ser tratados de duas maneiras.

  • Herança.Todos os controladores de página são subclasses de uma classe comum que fornece atributos comuns.

  • Delegação.Todos os controladores de página fazem parte de um pipeline onde algum processo comum (antes ou depois do controlador de página) inclui informações adicionais.

Você tem que escolher um.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top