[英]DAL Interface in C#
我有一個應用程序,其中每個表都需要以下方法:SelectAll,SelectSingle,SetStatus,保存。
如何在DAL中為此設置接口? 我絕對必須使用泛型嗎?
澄清:
我想知道如何創建一個接口,該接口適用於dal中的每個類,或者如果沒有通用列表類型,是否有可能。
接口示例,除了必須為接口中的方法聲明返回類型:
public interface IBaseDB {
public SelectAll();
public SelectOne(int id);
public void Save(object);
}
實現接口的示例DAL類
public class UserDB : IBaseDB {
public UserCollection SelectAll() { }
public User SelectOne(int id) { }
public void Save(User user) { }
}
底線:我想為DAL中的每個類提供所需方法的列表,但是DAL中的每個類對於SelectAll和SelectOne都有不同的返回類型。 我還不知道該如何完成。
我建議使用泛型,沒有太多理由反對這種選擇。 如果沒有泛型,則必須通過在接口中要求object
實例來強制轉換實例或放松類型檢查。 為了更好地了解您在做什么,請閱讀有關.net泛型的協方差和逆方差。 另外,如果可能,請完全放棄此設計(數據訪問層,業務邏輯層,應用程序和表示層),而轉而使用LinQ和存儲庫。
一些指針:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.