LINQ to SQLとMVPを使用して.NET 3.5 Windows Formsアプリケーションを開発しています。私たちは、データを取得するためのDataRepositoryクラスがあります。DBUserRepositoryのすべてのインスタンス間でのユーザーのリストをキャッシュするために静的変数を使用してデータをキャッシュする
public class DbUserRepository : IUserRepository
{
private IList<UserName> _users;
public IList<UserName> GetUserNames()
{
if (_users == null)
{
// retrieve _users from DB
}
return _users;
}
を、私たちは、エンタープライズライブラリのキャッシュアプリケーションブロックを使用するつもりでした。
しかし私には、自分自身を静的メンバーにすることはできませんでしたか?何らかの理由で「古い学校」のように見えるが、それは機能する。これを行うことには欠点がありますか?これは悪いデザインと見なされますか?
private static IList<UserName> _users;
おかげで、単純なキャッシュ用