Chúng tôi đang phát triển ứng dụng .NET 3.5 Windows Forms, sử dụng LINQ to SQL và MVP. Chúng tôi có một lớp DataRepository để lấy dữ liệu:Sử dụng biến tĩnh cho dữ liệu bộ nhớ cache
public class DbUserRepository : IUserRepository
{
private IList<UserName> _users;
public IList<UserName> GetUserNames()
{
if (_users == null)
{
// retrieve _users from DB
}
return _users;
}
Để cache danh sách người dùng trên tất cả các trường hợp của DBUserRepository, chúng ta sẽ sử dụng Caching Application Block Thư viện của Doanh nghiệp.
Nhưng nó xảy ra với tôi, tôi không thể chỉ khiến người dùng trở thành thành viên tĩnh? Đối với một số lý do mà có vẻ như một "trường học cũ" cách, nhưng nó hoạt động. Có bất kỳ nhược điểm nào để thực hiện việc này không? Đây có phải là thiết kế tồi không?
private static IList<UserName> _users;
Cảm ơn