0083仕様書無しさん
2018/05/08(火) 08:42:50.62それは違うよ
抽象に対してプログラムすることで多態性が生まれる話はわかるよね?
しかしnewっていうのは具象度MAXのオブジェクトを生成するため、疎結合性を一気に崩壊させる接着剤のような代物だ。
newする場所は限られていて、それを注意しなければ疎結合は一気に破壊されるのだ。
しかし例外がって、Stringなど言語自体に定義されたクラスは言語に依存しているためどこでnewしても構わない。
フレームワークを使ったら、フレームワークで定義されているクラスもある程度自由にnew可能だ。
つまり、newするクラスのレイヤーが表面的なものであればあるほどnewの被害を受けることとなる。
だから自分や同僚が作成したクラスは大体メインクラスでnewしてコンストラクタインジェクションするんだよ