私は今朝、モデルのローカライズを実行するローカライズのロジックを使用する潜在的な方法について議論していました。
問題は、ローカリゼーション ロジックを使用するためのよりクリーンな実装は何でしょうか?
オプション 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);
}
別のオプション?