私は、かなり単純な問題に対して 2 つの異なる設計アプローチに取り組んでいます。
私は(Web/SOAPなどではなく、一般的な意味で)サービスを持っています:
Inputクラスを受ける- 基本的に単なるデータであり、すべて入力データに依存するクラス
Inputを処理および作成するために使用します。Output
2 つの異なる設計アプローチは次のとおりです。
OutputCreatorを作成および設定する方法を知っているクラスを使用し、基本的に POCOOutputのままにします。OutputにOutputCreatorはすべての処理ロジックがあり、Output非常に単純で悪用することはできません。- または、 を特定のタイプのクラス
Inputに直接渡します。Outputの各タイプはOutputを処理する方法を知っているInputため、動作もサポートします。キーOutputデータは、それぞれ異なるタイプOutputが実装するインターフェースによって定義されます。
最初のアプローチは、すべての処理ロジックをサービスの内部にできることを意味します。2 つ目は、そのロジックがカプセル化されているクラスは必要ないことを意味しますが、Creatorより多くのロジックを公開する可能性があります (さらに、SRP に違反する可能性があります)。
ベストプラクティスに近いアプローチはどれですか?
ありがとう