画像ファイルを読み取り、サイズ変更アルゴリズムを使用してズームインおよびズームアウトできるプロセスがあるとします。これは、次のようにクラスに分解できます。
ImageFileReader
ImageFileFormatIdentifier
ImageFileValidator
ImageFileHeaderParser
ImageZoomer
ImageResizer
これらのクラスを組み合わせる最も適切な方法は何ですか?
プログラマーが自分のコードに合うと思うようにそれらを構成できるように、それらは「緩い」べきですか?
それとも、あるオブジェクトが依存している別のクラスへの参照またはインターフェイスを持つように設計する必要がありますか?
さらに、階層化されたアーキテクチャでは、Service
レイヤーでは最初のアプローチが優先される傾向があり、メソッドが合成に使用されるようです。これは一種のパターンですか?