1

そのため、StackOverlow に関するいくつかのコメントを読んでいて、ビジネス ロジックはActionFilterAttributeメタ データと見なされるため、カスタムに入れるべきではないと言っています。

たとえば、リポジトリにアクセスしていくつかのチェックを行い、それに応じてカスタム属性内で処理します (悪い)。

まず、フレームワークのフィルター(認証)などの多くがビジネスロジックを実行するため、これにどれだけ同意するかわかりません-主な違いは、ほとんどがコントローラーの範囲内にあるだけです。つまり、コントローラーの値にアクセスしたり、データをルーティングしたりするだけです。

だから私の質問は、追加のロジック/処理のために個々のアクションにフラグを立てるために ActionFilter を使用する必要がある場合、ロジックをどこに置くのですか?

入力していただきありがとうございます/

4

1 に答える 1

1

一部のビジネス ロジックを実行するために actionfilters を使用することに問題はありません。通常、これは、ロギング、セキュリティなどの横断的な懸念事項を実装する方法です (ご指摘のとおり)。

彼らの目的はすべて彼らの名前にあります。アクションのフィルター。入力アクション、または出力されるデータへの出力変更。

注意する必要があるのは、ビジネス データを変更し、actionfilters の変更を永続化する動作を配置することです。この種のことは、次の開発者があなたのコードを見るのに直感的ではありません。それらは何もフィルタリングせず、システム全体の状態を変更します。これがアクション(コマンド)の目的です。

于 2012-11-26T04:11:03.827 に答える