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