Мы разрабатываем приложение .NET 3.5 Windows Forms, используя LINQ to SQL и MVP. У нас есть DataRepository класс для извлечения данных:Использование статической переменной для кэширования данных
public class DbUserRepository : IUserRepository
{
private IList<UserName> _users;
public IList<UserName> GetUserNames()
{
if (_users == null)
{
// retrieve _users from DB
}
return _users;
}
Для того, чтобы кэшировать список пользователей во всех экземплярах DBUserRepository, мы будем использовать Caching Application Block Энтерпрайза библиотеки.
Но это произошло со мной, разве я не мог сделать _users статическим членом? По какой-то причине это похоже на «старую школу», но это работает. Есть ли недостатки в этом? Это считается плохим дизайном?
private static IList<UserName> _users;
Благодаря