サービス層と直接通信する (CRUD 操作、検証などを実行する) 「ブラック ボックス」ユーザー コントロールを作成することは、設計が不十分であると見なされますか?
「ブラックボックス」とは、ホストされているページとは無関係にデータを取得/保持することを意味します (IoC 注入サービスを使用)。各 UC をページにドロップするだけで機能します。これらの UC にはビジネス ロジックがまったく組み込まれていないことに注意してください (それはすべてドメイン層にあります)。
このアプローチは、次の 2 つの要因によって推進されました。
- 私たちのアプリケーションには、基本的に同じビューのバリアントである (レイアウトがわずかに異なる) 多くのページがあります。
さらに、UI デザイナーは、ページの個々の部分を開いて編集できるようにすることを好みます。この概念を説明するための貧弱な試みについては、ここをクリックし てください。
とにかく、UC に自分自身をレンダリングして永続化する能力/責任を与えることで、かなりのコードの重複をなくすことができるように感じました。
このアプローチが実際に「厄介」であると考えられる場合は、より魅力的な別のアプローチ (おそらく MVP ?) を提案してください。
ありがとう!