我已經成功地設置了一個列出團隊的簡單mvc應用程序。我正在使用Ninject根據控制器注入適當的存儲庫(感謝堆棧溢出;)。除了存儲庫代碼看起來完全相同之外,所有這些看起來都不錯。我知道那是錯誤的。所以我的TeamRepository有兩個類(現在)。如何避免重複代碼的存儲庫
public class SwimTeamRepository : ITeamRepository<SwimTeam>
{
private readonly Table<SwimTeam> _teamTable;
public SwimTeamRepository(string connectionString)
{
_teamTable = (new DataContext(connectionString).GetTable<SwimTeam>());
}
public IQueryable<SwimTeam> Team
{
get { return _teamTable; }
}
}
public class SoccerTeamRepository : ITeamRepository<SoccerTeam>
{
private readonly Table<SoccerTeam> _teamTable;
public SoccerTeamRepository(string connectionString)
{
_teamTable = (new DataContext(connectionString).GetTable<SoccerTeam>());
}
public IQueryable<SoccerTeam> Team
{
get { return _teamTable; }
}
}
它們看起來除了類和表名一樣的,所以我顯然需要重新考慮此因素。這裏最好的方法是什麼?辛格爾頓?工廠方法?
在此先感謝!
你的答案比我的更厲害。 – 2011-05-11 19:14:06
哇,我只是想知道使用聲明,我當然包裝它,然後得到一個錯誤,說對象已被處置...呃。我*心* ninject – keeg 2011-05-11 19:39:15
感謝凱文,我在NinjectModule中出現錯誤,關於沒有從Entities.SwimTeam到Domain.Concreate.TeamRepository –
keeg
2011-05-11 20:11:05