9

コードを SOLID の原則、特に依存関係の逆転の原則に従うようにしたい場合、実装が 1 つしかない場合でも、モジュールごとにインターフェイス (抽象化) を作成する必要がありますか?

私の意見では、これらの投稿によると:

http://josdejong.com/blog/2015/01/06/code-reuse/

http://blog.ploeh.dk/2010/12/02/Interfacesarenotabstractions/

すべてのモジュールに「抽象化」を作成することは、コードが乱雑になり、YAGNI の原則に違反します。

私の経験則は、依存性注入を使用しないか、モジュールに複数の実装がない限り、モジュールのインターフェイスを作成しないことです (2 番目の実装は、データベース/サーバー/ファイル モジュールの場合の単体テスト用のモック クラスになる可能性があります)。

誰かが私のためにこれをクリアできますか? SOLID は、すべてのモジュールを注入して抽象化する必要があることを意味しますか? はいの場合、ほとんどの場合使用しないのは、ただの雑然としたものではありませんか?

4

1 に答える 1