古典的な 3 層アプリケーションを想定しています。DAL には、T が POCO クラスを表す GenericRepository があり、Insert(T エンティティ)、Delete(T エンティティ)、Update(T エンティティ) などのメソッドが含まれています。次に、BLL (ビジネス ロジック クラス) に CustomerRepositor のようなものが含まれています。まあ、すべての権利。
次に、aspx ページをイメージします。
var customers = BLL.CustomerRepository.GetAll();
customers.First().Name = "some name";
すべての CRUD 操作に対して何らかの検証を実行できるようにするには、CustomerRepository.Update、Insert、または Delete メソッドを渡す必要があります。このように、すべてのビジネス ロジックは、私が説明したようには機能しません。
誰もこれについて考えたことがないことに注意してください。しかし、これは重要な問題だと思います。CRUD 操作のビジネス メソッドをバイパスできる場合は意味がありません。
何か不足していますか?