正しさは常に一つではないと僕は思うので

「DI使ってるのなんてOOがわかってないアホだけでしょ?」 - 神様なんて信じない僕らのために

にいただいたコメントにちょっと長いので本文で失礼します。


id:mopemopeさん曰く、

えー?そんなこと言われたんだー?ショックだね><
私は指定された範囲内で生産効率よければなんでもいいんですよ。

>mopemopeさん
人には色々と考え方がありますよね。
僕もコンテキストを踏まえて生産効率がよければ何でも良い考えです。:-)
 
id:everesさん曰く、

実際のところ、当面Javaは使い続けていくのでDIは使ってみますよ。
で、何が便利なのかを事前に聞いてみたかっただけなんだけど。
本質的に教えてくれる人はいなかった。まぁ、そんなもんだ。
 
Javaは駄目というよりは、面倒くさいorz
面倒くさいという声を受けての最近の振る舞いも好かん

>everesさん
everesさんを揶揄したり責めたりしているわけではないのですがもし不愉快に思われたらごめんなさいです。
あとは、本文で言ったとおり本質的に良いかどうかはコンテキストに依存すると思っています。
なので、それをもし本質的に知りたいのであれば「DIを使わない」で開発をした頃と照らし合わせれば良いのじゃないでしょうか。
で、もしそれで何も変わらない、
もしくはDIを使わない方が効率が良い、

だって、部品をテストするときに「インターフェース定義」「スタブ(モック)作成」という余計な手間と、スタブの代わりになる部品(実装)ができたときに設定を書き換える手間が増える訳じゃん。

やっぱりDIの良さがわからない | tsuyuki.makoto

がDIを採用して現れるコスト軽減に反してコストを増やすことに繋がる、
という結果が出たのなら「everesさんやその周囲の(少数精鋭)チームにとってDIは必要ない」
という答えがでるだけだと思います。
そうでないなら、答えはもう知っている筈だと思いますし。

で、面倒くさいという点ですが、たとえば僕はC/C++に比べればJavaは極楽浄土にいるくらい楽だと思っています。
相対的評価に過ぎないので、伝えようもないことなのですが、これは印象の問題かなぁと。
mnagakuさんがちょっと言ってますが、

Javaは、この辺を意識しないでも書けちゃうので、Javaグラマー甘やかされてる論は、やっぱ正しい。

404 Not Found

Javaって、色んな事を意識しなくても書けてしまえるのはやっぱり楽ですよ。*1

確かにへぼを集めてもある程度きちんと書けるのがJavaとかの良さだというのは分かってるぞ。

やっぱりDIの良さがわからない | tsuyuki.makoto

と言われているところも関連あるかもとも思うのですけれども。
そして、最近の振る舞いもまた好き嫌いで語られることであって、
捨てなければならない理由とはなり得ないと思えてしまいます。
 
追記:

ただ、Javaってオブジェクト指向なのか?と最近は疑問です。言語というよりは、書き方が。
「POJO?、振る舞いはないの?構造体でよくね?」

Javaは偉大な中庸言語だと思います。なので、書き方も純粋にとはいかないのではないでしょうか。

  
ここでもし、「本質的に教えてくれる人」いましたら是非。
 
 
id:neodenjinさん曰く、

楽しいことは重要ですね。
さらに言うなら、仕事で使う場合には便利=コスト減という点を評価するほうがクレヴァーだと思います。
まあ、自分が理解できないものを卑下したがるのは、人間の悲しい習性の一つです…。

>neodenjinさん
まさに楽しさは大事ですね。僕は楽しくないことはやりたくないです:-)
で、cleverであると言われるように仕事をしている自分「たち」が楽しいと思いつつ、
かつまた便利でありコストを減少させる効果に繋がると考える「ならば」、
採用すれば良いと思っています。
言語も技術も(なんでも)。

*1:正しいかとか、最終的に面倒がないかどうかはさておきます