Nous développons une application Windows Forms .NET 3.5, en utilisant LINQ to SQL et MVP. Nous avons une classe DataRepository pour récupérer des données:Utilisation d'une variable statique pour mettre en cache des données
public class DbUserRepository : IUserRepository
{
private IList<UserName> _users;
public IList<UserName> GetUserNames()
{
if (_users == null)
{
// retrieve _users from DB
}
return _users;
}
Afin de mettre en cache la liste des utilisateurs à travers toutes les instances du DBUserRepository, nous allions Caching Application Block de l'Enterprise Library.
Mais cela m'est arrivé, est-ce que je ne pouvais pas faire de _users un membre statique? Pour une raison quelconque, cela ressemble à une façon de «vieille école», mais cela fonctionne. Y a-t-il des inconvénients à le faire? Est-ce considéré comme un mauvais design?
private static IList<UserName> _users;
Merci