現時点では、私のウェブサイトには仕様パターンのあるリポジトリパターンがあります。私は、コード、例のほんの数行で私の.aspxページ内からデータを取得することができます。Entity Framework - ビジネス層の必要性に関する意見
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を記述してください。特定のUI要件をサポートするためにAPIにいくつかの追加のメソッドを追加する必要があるかもしれませんが、もしできれば...この件に関して数え切れないほどの本が書かれていることを避けてください...それは6行でできることです。 –
ハハ、ありがとう。ジェネリックリポジトリに良いBLLを構築する作業があれば、この作業を行う方法はあると思いますが(一般BLLは特定のエンティティのためのメソッドを持つことができないので、) – Julian