目前我的網站有一個存儲庫模式和規範模式。我可以從我的.aspx頁面中的代碼,例如只需要幾行得到的數據:實體框架 - 關於業務層需求的意見
private IRepository repository;
protected void Page_Load(object sender, EventArgs e)
{
repository = new GenericRepository();
Specification<Book> specification = new Specification<Book>(b => b.Year == 1988);
lvBooks.DataSource = repository.GetAll<Book>(specification);
lvBooks.DataBind();
}
現在的問題是,我在我的網站,如果你的答案是肯定需要一個業務層,爲什麼呢? 目前看來,由於規範模式,我不需要位於頁面和存儲庫之間的業務層。
感謝您的意見。
它最終會成爲一個大網站,所以你應該說做一個BLL?我應該如何使用此規範存儲庫查看業務層? (我的存儲庫是通用的,數據庫有超過30個表格,那麼我應該爲每個實體編寫一個業務對象? – Julian
非常困難的問題!我會先忘記UI和存儲庫,然後考慮業務領域並寫入一個似乎自然適合該領域的API如果你的存儲庫設計得很好,它應該能夠很容易地支持這個API,否則你可能需要更改存儲庫然後編寫UI來使用這個API。你可能需要在API中添加一些額外的方法來支持特定的用戶界面需求,但如果可以的話,儘量避免這種情況......已經有無數書籍在這個主題上寫過......這是我在6行中最好的。 –
哈哈,謝謝,我會考慮一種方法來完成這項工作,儘管如果在我的通用知識庫中構建一個好的BLL工作似乎很多(因爲通用BLL不能爲特定實體提供方法嗎?) – Julian