1

我正在使用 Mako 的继承功能将常见的页面元素(如页眉和页脚)分解为“base.mako”模板。特定于页面的控制器使用自己的模板,这些模板继承了 base.mako。

base.mako 需要一组变量——例如,登录用户的名称出现在所有页面的标题中。但是,选择和呈现模板的是单独的页面控制器,因此负责将变量传递给它。

我宁愿所有这些页面控制器都不必知道基本模板在其上下文中需要什么。在这种情况下,为基本模板建立上下文的好方法是什么?

提前致谢!

4

1 回答 1

0

您的页面控制器有两种 OO 设计选择。

可以通过两种方式处理共同特征。

  • 遗产。所有页面控制器都是提供公共属性的公共类的子类。

  • 代表团。所有页面控制器都是管道的一部分,其中一些通用进程(在页面控制器之前或之后)折叠在附加信息中。

你必须选择一个。

于 2009-12-02T02:21:18.327 回答