Я создаю демонстрационный проект Asp.net Web API, я не хочу использовать какой-либо поставщик данных, ни структуру сущностей, ни Ado. сеть.Каков наилучший способ использования в данных памяти в проекте ASP API для Java для демонстрации
Я строю Repository,
public class ProductRepo : IProductRepo
{
private List<Product> products = new List<Product>();
private int _nextId = 1;
public ExternalProductDataRepo()
{
products.Add(new Product {Id=1, Name = "Toyata", Category = "Car", Price = 1.3M });
products.Add(new Product {Id=2, Name = "Ford", Category = "Car", Price = 3.75M });
products.Add(new Product {Id=3, Name = "Hammer", Category = "Hardware", Price = 16.99M });
}
public IEnumerable<Product> GetAll()
{
return products;
}
public Product Get(int id)
{
return products.Find(p => p.Id == id);
}
public Product Add(Product item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
item.Id = _nextId++;
products.Add(item);
return item;
}
public void Remove(int id)
{
products.RemoveAll(p => p.Id == id);
}
public bool Update(Product item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
int index = products.FindIndex(p => p.Id == item.Id);
if (index == -1)
{
return false;
}
products.RemoveAt(index);
products.Add(item);
return true;
}
}
Но, в любом приложении хит, новый экземпляр класса ProductRepo создается, так что даже если я сохранить данные, он никогда не настаивал.
Кроме того, у меня есть возможность использовать System.Web.Cache для хранения списка продуктов в кэше, но это для другой цели и в течение ограниченного периода времени, а также делает сложным изолированное тестирование. Итак, что такое предложение о создании последовательного демонстрационного проекта с продукцией CRUD?
Сделать 'Список товаров' статических. Он будет работать во время работы приложения и служит для демонстрационных целей. –
Fabio
* Безопасность резьбы * – Guillaume