Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマーク
  • テクノロジー
  • 「DI使うとインタフェース地獄に陥るらしいから使いたくない」と言っていたA氏がインタフェースを使わずにDIで幸せになるまで - Qiita
  • Twitterでシェア
  • Facebookでシェア

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできますコメント表示の設定

ブックマークしました

ここにツイート内容が記載されますhttps://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

99usersがブックマークコメント13

    ガイドラインをご確認の上、良識あるコメントにご協力ください

    0/0
    入力したタグを追加

    現在プライベートモードです設定を変更する

    おすすめタグタグについて

      よく使うタグ

        「DI使うとインタフェース地獄に陥るらしいから使いたくない」と言っていたA氏がインタフェースを使わずにDIで幸せになるまで - Qiita

        ガイドラインをご確認の上、良識あるコメントにご協力ください

        0/0
        入力したタグを追加

        現在プライベートモードです設定を変更する

        おすすめタグタグについて

          よく使うタグ

            はてなブックマーク

            はてなブックマークで
            関心をシェアしよう

            みんなの興味と感想が集まることで
            新しい発見や、深堀りがもっと楽しく

            ユーザー登録

            アカウントをお持ちの方はログインページ

            記事へのコメント13

            • 注目コメント
            • 新着コメント
            kagehiens
            こういうの読むたびにソフトウェア設計の工夫の大半は、一度書いたプログラムの発展改修を如何に安全に行うかという目的のために存在することを再確認した気持ちになる。そこに余り価値を見出せなかった会社は残念。

              その他
              tpircs
              老人なので「インタフェース使っちゃったほうがわかりやすくていんじゃね?」って思っちゃったりする。コードのわかりやすさというより、全体の設計が開発メンバーに伝えやすいのがいいんだよね。

                その他
                n314
                PHPerならauto wiringねって話になるけど、C#だと生存期間の問題があるのか。JavaならSpringでAutowiredアノテーションがあるみたいね。

                  その他
                  otihateten3510
                  それで、インターフェース地獄は解決したの? /大抵の場合は環境依存なのに、なぜか守護を大きくしてしまうんだよね

                    その他
                    roshi
                    コードジャンプで確実に実装に飛んでくれれば、、このケースだとScalaのimplicit parameterでもよさそう。

                      その他
                      saikyo_tongaricorn
                      DIチョットツライ

                        その他
                        fa11enprince
                        JavaのSpringだと@Beanで頑張る感じかな、そもそもRepositoryがそもそも分かれてるしServiceロジックに処理かいてて@autowiredしてればこんな悩みは発生しない。DIしてる状況で引数が必要になってる時点で…

                        その他
                        lorenz_sys
                        "なんでControllerでDBのテーブルに直接アクセスするようなコードを書くんだ" こんな言い方したら最近の若手は辞めちゃうよ。「ごめん。ちゃんと説明してなかったね...」って言い方しないといけないんだよ。昨今の上司は。

                          その他
                          indication
                          アセンブリスキャンしてどこからともなくインスタンス取ってくるのは好きだけど、周りから理解を得れない。特定のライブラリと依存関係にあるとき、本体から切り離せるんだけど、そんなユースケースはないのかな…。

                          その他
                          matarillo
                          「(実装を)入れ替えてテストとかしないですよね?」にYesなら、アプリケーションレベルでinterfaceはあんまりいらないよね。メリットを享受しないのならクリーンアーキテクチャなんていらないのよ

                            その他
                            gabari
                            デスクトップアプリばかりやってると、DIコンテナあんまり使わないなぁ。多くのケースで、まるっと切り替えるというよりオブジェクトごとに切り替えたりするから、コンストラクタでなんとかしちゃう。

                              その他
                              tpircs
                              tpircs老人なので「インタフェース使っちゃったほうがわかりやすくていんじゃね?」って思っちゃったりする。コードのわかりやすさというより、全体の設計が開発メンバーに伝えやすいのがいいんだよね。

                                2021/10/21リンク

                                その他
                                kagehiens
                                kagehiensこういうの読むたびにソフトウェア設計の工夫の大半は、一度書いたプログラムの発展改修を如何に安全に行うかという目的のために存在することを再確認した気持ちになる。そこに余り価値を見出せなかった会社は残念。

                                  2021/10/21リンク

                                  その他
                                  ghostbass
                                  Attribute付けたりInterface付けたりでまとめてコンテナに登録とか色々。/個人的にはinterfaceあまり使わないけど実装クラスをnewすることもほぼない

                                  その他
                                  mak_in
                                  interfaceへの拒否感からか、DIとDIコンテナの話が混じった状態で色々突っ切ってしまった話に読めた。昔からオブジェクト指向の説明で使われがちの動物-犬猫のようなケースも、継承よりもinterface使った方がいい場面は多い

                                    その他
                                    n314
                                    n314PHPerならauto wiringねって話になるけど、C#だと生存期間の問題があるのか。JavaならSpringでAutowiredアノテーションがあるみたいね。

                                      2021/10/20リンク

                                      その他

                                      注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

                                      リンクを埋め込む

                                      以下のコードをコピーしてサイトに埋め込むことができます

                                      プレビュー
                                      アプリのスクリーンショット
                                      いまの話題をアプリでチェック!
                                      • バナー広告なし
                                      • ミュート機能あり
                                      • ダークモード搭載
                                      アプリをダウンロード

                                      関連記事

                                        usersに達しました!

                                        さんが1番目にブックマークした記事「「DI使うとインタ...」が注目されています。

                                        気持ちをシェアしよう

                                        ツイートする

                                        「DI使うとインタフェース地獄に陥るらしいから使いたくない」と言っていたA氏がインタフェースを使わずにDIで幸せになるまで - Qiita

                                        DIはインタフェース定義しなくても十分実用的だし、むしろそっちの方が質だよ、という話をします。C#...DIはインタフェース定義しなくても十分実用的だし、むしろそっちの方が質だよ、という話をします。C#や.NETを使っていますが、それに限らず普遍的な内容です。 インタフェースと実装に分けるとか無理。DIなど不要! 中堅社員のA氏は、**「DIっていちいち実装とインタフェース分けないとダメなんでしょ?。さすがにやってられんわ」**と言って頑なにDIを導入しようとしません。 DIはテスタビリティと併せて語られることが多かった為か、A氏は「注入するクラスは基的にインタフェース定義しましょう」という記事ばかりを読んでいたのです。 インタフェースと実装を分けるとは、例えば次のような事です。 services.AddScoped<IMessageStore, MessageStore>(); public interface IMessageStore { string GetMessage(str

                                        ブックマークしたユーザー

                                        • otihateten35102024/06/26otihateten3510
                                        • techtech05212024/05/01techtech0521
                                        • roshi2023/02/10roshi
                                        • saikyo_tongaricorn2023/02/10saikyo_tongaricorn
                                        • Hiro_Matsuno2023/02/10Hiro_Matsuno
                                        • yuuki55552022/02/15yuuki5555
                                        • fa11enprince2021/11/28fa11enprince
                                        • mittsu32021/11/14mittsu3
                                        • chi-bd2021/11/08chi-bd
                                        • raimon492021/10/28raimon49
                                        • clavier2021/10/24clavier
                                        • nakamako132021/10/24nakamako13
                                        • lugecy2021/10/24lugecy
                                        • yysaki2021/10/21yysaki
                                        • kinushu2021/10/21kinushu
                                        • tanavel2021/10/21tanavel
                                        • lorenz_sys2021/10/21lorenz_sys
                                        • gba-32021/10/21gba-3
                                        すべてのユーザーの
                                        詳細を表示します

                                        ブックマークしたすべてのユーザー

                                        同じサイトの新着

                                        同じサイトの新着をもっと読む

                                        いま人気の記事

                                        いま人気の記事をもっと読む

                                        いま人気の記事 - テクノロジー

                                        いま人気の記事 - テクノロジーをもっと読む

                                        新着記事 - テクノロジー

                                        新着記事 - テクノロジーをもっと読む

                                        同時期にブックマークされた記事

                                        いま人気の記事 - 企業メディア

                                        企業メディアをもっと読む

                                        はてなブックマーク

                                        公式Twitter

                                        はてなのサービス

                                        • App Storeからダウンロード
                                        • Google Playで手に入れよう
                                        Copyright © 2005-2025Hatena. All Rights Reserved.
                                        設定を変更しましたx

                                        [8]ページ先頭

                                        ©2009-2025 Movatter.jp