8

集約ルートを作成および検証するためのファクトリと一連の仕様を作成しました。現在、工場の製品の仕様と呼ばれる工場のテストがいくつかありますが、それで十分かどうか疑問に思います。設計の観点からは、工場は製品の仕様に密接に関連しているため、それらを結合する方がよい場合があります。

集約ルート製品の仕様が作成ではなく検証に使用されている場合、それを工場内から呼び出すことは理にかなっていますか?

それとも、単体テストで十分ですか?

4

1 に答える 1

2

答えはおそらく、仕様をどのように使用しているか、および作成プロセス中にコードが大幅に破損しているかどうかによって異なります。

仕様は、考えられるほとんどすべてのものに使用できます。基本的なレベルでは、仕様はオブジェクトにカプセル化された制御可能な条件ステートメントにすぎません。コードが条件付きロジックを使用している場合は常に、開発者が何らかの正当性があると感じた場合、そのロジックを仕様にリファクタリングすることができます。

コードをより使いやすく、保守しやすく、読みやすくする限り、実際のコードで仕様を使用しても問題はありません。テストでのみ使用される仕様を作成することにも問題はありません。仕様は単純なオブジェクトであり、コードを何らかの方法で仕様に結合することは、ほとんどの仕様が比較的単純であるため、保守や再利用性に大きな悪影響を与えることはないようです。

集約ルート製品の仕様が作成ではなく検証に使用されている場合、それを工場内から呼び出すことは理にかなっていますか?

はい。ただし、おそらく、工場の製品に問題があるか、自信がない場合に限ります。

それとも、単体テストで十分ですか?

ええ、単体テストから仕様を呼び出すことは、(少なくとも仕様がカバーするものに関して)工場の製品の有効性を証明するのに十分である可能性があります。ただし、単体テストで仕様を使用することはあまりありませんが、何かに苦労している場合、またはテストしているロジックの一部である場合に限ります。

于 2010-08-18T16:10:09.100 に答える