У меня есть интерфейс, определенный как IStore, с двумя методами:
public interface IStore<TEntity>
{
TEntity Get(object identifier);
void Put(TEntity entity);
}
Я хочу, чтобы мероприятие было посвящено успеху Пут
(для справки, Put может хранить строку в БД или файл в файловой системе и т. д.)
Итак, класс, реализующий Istore для типа Product, будет выглядеть примерно так:
class MyStore : IStore<Product>
{
public Product Get(object identifier)
{
//whatever
}
public void Put(Product entity)
{
//Store the product in db
//RAISE EVENT ON SUCCESS
}
}
То, что я хочу, это способ гарантировать, что каждая реализация IStore вызывает событие -
должен ли я иметь абстрактный класс или интерфейс?