我们正在开发一个.NET 3.5 Windows窗体应用程序,使用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的所有实例的用户列表中,我们将使用企业库的缓存应用程序块。
但它发生在我身上,我不能让_users成为静态成员吗?出于某种原因,这看起来像一个“老派”的方式,但它的作品。这样做有什么缺点吗?这被认为是不好的设计?
private static IList<UserName> _users;
感谢