我定義爲IStore的接口,有兩個方法:C# - 接口/抽象類 - 確保事件引發的方法
public interface IStore<TEntity>
{
TEntity Get(object identifier);
void Put(TEntity entity);
}
我想成爲把 的成功引發的事件(參考,放可以存儲一個行中的DB或文件系統等文件上...)
因此,實施Istore類型產品的一類看起來有點像這樣:
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的每個實現都引發該事件的方法 - 應該改爲抽象類,還是接口?
這是我的答案。在某種程度上,當你允許方法被覆蓋時,你總是依賴於理解合同的人。但是提供這樣的框架可以讓你對事物允許發生的順序有一些控制。 – unholysampler 2010-07-07 12:30:30