Estamos desarrollando una aplicación .NET 3.5 Windows Forms, utilizando LINQ to SQL y MVP. Tenemos una clase DataRepository para la recuperación de datos:Usando una variable estática para almacenar en caché los datos
public class DbUserRepository : IUserRepository
{
private IList<UserName> _users;
public IList<UserName> GetUserNames()
{
if (_users == null)
{
// retrieve _users from DB
}
return _users;
}
Con el fin de almacenar en caché la lista de usuarios a través de todas las instancias del DBUserRepository, nos iban a utilizar el almacenamiento en caché bloque de aplicación de la Enterprise Library.
Pero se me ocurrió, ¿no podría simplemente hacer _users un miembro estático? Por alguna razón, parece una forma de "vieja escuela", pero funciona. ¿Hay algún inconveniente para hacer esto? ¿Esto se considera un mal diseño?
private static IList<UserName> _users;
Gracias