ここで、静的クラスと静的関数は多くのメモリを消費するため悪いことがわかりました。
データベースとやり取りする必要があるなど、多くのことに使用します。
この静的ローカリゼーション クラスの一部である GetResources の例
public static class SFLocalization
{
public static string GetResources(string key)
{
string CurrentLanguage = System.Threading.Thread.CurrentThread.CurrentUICulture.ToString();
if (MemoryCache.Default["Resources_" + key] == null)
{
string x
using (Db _db = new Db())
{
MemoryCache.Default["Resources_" + key] = _db.Languages.First(l => l.Key == key && l.LanguageCode == CurrentThread).Value;
}
}
return MemoryCache.Default["Resources_" + key];
}
}
そして、ビュー、コントローラーなどで.翻訳された値を取得するためにこれだけを書きます
@SFLocalization.GetResources("NewsletterBoxTitle")
1.) そのような状況での静的クラスは本当に悪いのでしょうか?
2.) 代替手段は何ですか? 多分依存性注入(ninjectなど)?? (本 Apress - Pro Asp.net Mvc 4 で見ました