今天早上我正在讨论使用本地化逻辑的潜在方法,这将执行我们的模型的本地化。
问题是,使用本地化逻辑的更清洁的实现是什么?
选项 1:在控制器操作上使用 AOP 样式过滤器
[LocalizeModel]
public ActionResult Index()
{
Menu menu = _menuRepository.GetMenu(MENU_TYPE);
return PartialView("Index", menu);
}
LocalizeModel属性将拦截返回值,并根据其类型执行模型的本地化(假设它实现了给定的接口)。
选项 2:通过依赖注入消费
public MenuController(IMenuRepository menuRepository, ILocalizeMenus menuLocalization)
{
_menuRepository = menuRepository;
_menuLocalization = menuLocalization;
}
public ActionResult Index()
{
Menu menu = _menuRepository.GetMenu(MENU_TYPE);
_menuLocalization.LocalizeAllText(menu);
return PartialView("Index", menu);
}
另外的选择?