オブジェクト指向、DIとService Locatorの違いを教えて4
- 1 :仕様書無しさん:2018/07/07(土) 10:47:57.49 .net
- ■ オブジェクト指向・デザインパターン(有用)
わかり易い例
class Dog extends Animal
class Cat extends Animal
■ DI(ゴミ)
DIとは?・・・オブジェクト指向の依存関係を"ひとまとめに"定義する部分と、それを利用するために
オブジェクトを直接newするのではなく、DIコンテナにnewしてもらうパターン
http://kakutani.com/trans/fowler/injection.html
> Dependency Injection の形式
> Dependency Injection の基本的な考え方は、独立したオブジェクトを
> Assembler(組み立て係)として用意し、 MovieFinder インタフェースの実装を
> MovieLister クラスのフィールドへ適切に設定させるというものだ。
> 依存関係は図2のようになる。
前スレ
オブジェクト指向とは 分かりやすく教えてくれ
https://medaka.5ch.net/test/read.cgi/prog/1521869966/
オブジェクト指向を分かりやすく例えて教えてくれ 2
https://medaka.5ch.net/test/read.cgi/prog/1525660302/
オブジェクト指向とDIを分かりやすく例えて教えてくれ 3
https://medaka.5ch.net/test/read.cgi/prog/1526733859/
- 283 :仕様書無しさん:2018/07/14(土) 11:09:10.34 .net
- JavaScriptのDIコンテナはどれですか?
- 284 :仕様書無しさん:2018/07/14(土) 12:30:26.98 .net
- >>283
こんなのとかどうですか?
https://qiita.com/Quramy/items/e65ee58cf1fba589c81b
- 285 :仕様書無しさん:2018/07/17(火) 00:02:57.12 .net
- 終わりですか?
- 286 :仕様書無しさん:2018/07/17(火) 06:05:16.35 .net
- >>285
はい、もう出し尽くしました
- 287 :仕様書無しさん:2018/07/17(火) 06:11:34.16 .net
- 最後の話題がこれ
DIとService Locatorの区別もつ無いやつが
DIマンセーしてましたっと
274 返信:仕様書無しさん[sage] 投稿日:2018/07/12(木) 20:26:31.22
>>271
Service Locatorにも組み立て係いるんだけど?
275 自分:仕様書無しさん[sage] 投稿日:2018/07/12(木) 20:49:03.06
その組立係を何処から参照しているかの違いですね
- 288 :仕様書無しさん:2018/07/17(火) 06:17:54.62 .net
- Service Locatorで検索したら
Service Locator パターンについて
https://qiita.com/tassi-yuzukko/items/a81a7b9aaa42198df689
という記事がトップに見つかり、そこから超参考になる記事として以下が紹介されていた
Service LocatorとDependency InjectionパターンとDI Container
http://www.nuits.jp/entry/servicelocator-vs-dependencyinjection
さすがちゃんとわかっている
> 利用箇所の結合度をさげる
> まずはServiceLocatorもDIも関係ない領域です。
> GeolocationServiceからIGeolocationServiceインターフェースを抽出して利用箇所の結合度を下げます。
インターフェースを使って結合度を下げるのはServiceLocatorでもDIでもないと
ちゃーんとわかっている
Service LocatorもDIも、依存関係を解決する方法で
そのやり方が違うものである
- 289 :仕様書無しさん:2018/07/17(火) 06:48:57.74 .net
- インターフェースで結合度を下げる->SLもDIも関係ない
実装インスタンスをクラスの外部で生成して渡す-> DI
注意: つまりSLはDIではない
DIのための生成手順を管理->ファクトリー
ファクトリーの実装パターンの1つ->DIContainer
- 290 :仕様書無しさん:2018/07/17(火) 10:25:22.27 .net
- これも忘れずに
GoFのデザインパターンにあるのはFactory MethodとAbstract Factoryであって
ファクトリーもコンテナもないので、そう聞かれても正確な答えにはならない
ファクトリー = オブジェクトを生成するもの
コンテナ = 何かの入れ物
っていうアバウトな定義でいいのであれば、その通りだが。
更に言うなら「ファクトリー+コンテナ」には、インターフェースの実装を
生成するオブジェクトのクラスフィールドに設定させるという基本的な考えを実現する機能が
抜けてるので「ファクトリー+コンテナ+依存関係の解決」がDIコンテナと言える。
これに実際のDIコンテナはAOPの機能がついてたりするんだがこっちはおまけだな
- 291 :仕様書無しさん:2018/07/17(火) 10:42:01.75 .net
- パターンをそんなに厳密に使ってる奴居るんだw
- 292 :仕様書無しさん:2018/07/17(火) 14:22:13.35 .net
- デザインパターンは、プログラマの間で正確に意味を伝わるようにした
共通の用語なんだから当然。
それに対してファクトリーはデザインパターンではなく正確な用語じゃない
だから意味が正確に伝わらない。
それを言っておかないと、ファクトリーとDI が同一のものとか言い出しかねないからな。
ファクトリーにオブジェクトのコンテナと依存関係を解決したものがDI
通常ファクトリーといったらオブジェクトの生成ぐらいしか意味を持たない
(つまりコンテナ機能はないので毎回作成だし、依存関係の解決もしない)
- 293 :仕様書無しさん:2018/07/17(火) 14:24:12.12 .net
- デザインパターンが実装まで定義してるなんて初耳だな。
- 294 :仕様書無しさん:2018/07/17(火) 14:31:49.23 .net
- 実装を定義してるなんて書いてないが?
さっきから言葉の定義の話しかしてないよね?
ファクトリーはこうで、DIはこうって
- 295 :仕様書無しさん:2018/07/17(火) 20:23:57.65 .net
- だって、DIって、実装レベルの話だろ?
- 296 :仕様書無しさん:2018/07/17(火) 20:47:34.95 .net
- 設計手法かな
- 297 :仕様書無しさん:2018/07/17(火) 21:33:00.27 .net
- >>287
DIアンチじゃね?
- 298 :仕様書無しさん:2018/07/17(火) 21:46:46.14 .net
- ドリルインポ
- 299 :仕様書無しさん:2018/07/17(火) 21:59:55.68 .net
- 設計だよなぁ。DIの実装なんて各フレームワークで全然違うし
- 300 :仕様書無しさん:2018/07/17(火) 22:01:41.16 .net
- DI=ドリルインポ
- 301 :仕様書無しさん:2018/07/17(火) 22:06:47.83 .net
- 大好きインぽ
- 302 :仕様書無しさん:2018/07/17(火) 22:11:16.15 .net
- でも明らかに粒度が違うよなぁ
デザインパターンが基本設計なら、DIは詳細設計だろ?
なんで同じステージで語るの?
- 303 :仕様書無しさん:2018/07/18(水) 00:51:59.32 .net
- コンポーネントの切り分けと依存関係は基本設計やろ
- 304 :仕様書無しさん:2018/07/18(水) 03:30:15.55 .net
- DI厨はこういう理屈であることがわかったなw
席は一つしかありません。
基本設計の椅子にデザインパターンが座りました
空きは詳細設計のみです。
だからDIは詳細設計になります。
詳細設計というのはプログラミングのことです。
プログラミングというのは実装です。
だからDIは実装になります
DIが何をやるかには興味がありません。
詳細設計しか椅子がないのだからDIは実装です
- 305 :仕様書無しさん:2018/07/18(水) 08:36:06.34 .net
- UMLで言うところの、黒いひし形か白いひし形かの違いを
延々と言い合うスレって事でいい?
- 306 :仕様書無しさん:2018/07/18(水) 08:48:55.14 .net
- キチガイはスルー
- 307 :仕様書無しさん:2018/07/18(水) 10:19:28.61 .net
- >>305
違うな。ひし形の色だけじゃない。
すべての形、その数、依存関係、まあ要するに
設計なんだが、それを言い合うスレだ
- 308 :仕様書無しさん:2018/07/18(水) 10:20:02.92 .net
- デザインパターンが基本設計なら、DIも基本設計だろ?
同じステージの話なんだから
- 309 :仕様書無しさん:2018/07/18(水) 10:22:29.33 .net
- いやいや、どう見てもDIは実装の話だろ?
- 310 :仕様書無しさん:2018/07/18(水) 10:35:41.07 .net
- どうみてって何を見たの?
見た実装とやらを言ってみて
- 311 :仕様書無しさん:2018/07/18(水) 10:37:34.47 .net
- だって実装の話しかして無いじゃん。
- 312 :仕様書無しさん:2018/07/18(水) 10:38:36.20 .net
- だから見た実装とやらを言ってみて
ま、答えずに逃げてる所みれば
どういうことか、わかりますけどねw
- 313 :仕様書無しさん:2018/07/18(水) 10:39:15.30 .net
- お前が見た「実装」とやらを持って
上司に「実装」しました!って言ってこいよwww
- 314 :仕様書無しさん:2018/07/18(水) 10:40:41.89 .net
- >>312
は?
このスレのどこを見ても実装の話しかして無いだろw
- 315 :仕様書無しさん:2018/07/18(水) 10:40:57.66 .net
- ほらまた逃げたw
- 316 :仕様書無しさん:2018/07/18(水) 12:10:28.59 .net
- よこからスマンけどDIってなーに?
- 317 :仕様書無しさん:2018/07/18(水) 12:23:53.14 .net
- >>1に書いてあるだろ
■ DI(ゴミ)
DIとは?・・・オブジェクト指向の依存関係を"ひとまとめに"定義する部分と、それを利用するために
オブジェクトを直接newするのではなく、DIコンテナにnewしてもらうパターン
http://kakutani.com/trans/fowler/injection.html
> Dependency Injection の形式
> Dependency Injection の基本的な考え方は、独立したオブジェクトを
> Assembler(組み立て係)として用意し、 MovieFinder インタフェースの実装を
> MovieLister クラスのフィールドへ適切に設定させるというものだ。
> 依存関係は図2のようになる。
- 318 :仕様書無しさん:2018/07/18(水) 17:38:16.22 .net
- >>316
ドリルインポ
- 319 :仕様書無しさん:2018/07/18(水) 21:57:47.93 .net
- キチガイはスルー
- 320 :仕様書無しさん:2018/07/21(土) 21:55:01.84 .net
- 1つ言えるのはオブジェクト指向のなんかよりも
データ構造とアルゴリズムの方がよっぽど重要だということ。
昔はオブジェクト指向の勉強を頑張っていたけどそのときは
全然プログラミングがうまくならなかった。
現代の世の中はガチガチに設計されたライブラリを使って
コードを書くだけだから生半可なオブジェクト指向の知識なんて
ゴミ同然だよ。80年代90年代に考えられた思想とか、もうゴミに
なってしまった思想が多くて有害だよ。
結局現場でやることは「メソッドの使い方を求めてQiitaやStack OverFlowを
漁って成功するコードを見つけるまで疲れ果てる」ことに変わりはない。
せっかく勉強した内容が時代遅れで「裏切られる」ことのほうが多い。
- 321 :仕様書無しさん:2018/07/21(土) 21:55:37.69 .net
- 一方、データ構造とアルゴリズムをガッツリと勉強してから
様々なデータ構造の使い方、問題の解決がうまくなった。
ブロックチェーンのアルゴリズムの理解や
データ分析の数学的演算がコーディング
できるようになってプログラミングが格段に楽しくなった。
スマートにオブジェクト指向で設計する力なんかより
「ゴリゴリとアルゴリズムを書く力」の方がよっぽど重要。
「再利用性」?「変更の影響」だって?そんなものゴミだね。
それは自分以外の人間のメリットのための技術であって、
自分へ還元されるためのメリットではない。
再利用性は自分の書いたコードなら信頼できるしコピペして使えばいい。
自分の書いたコードのコピペは全然ありだと思う。
適したメソッドが見つからなかったらQiitaを漁ったりせずに
自分でゼロから実装したほうが速い。
その場で手っ取り早くコードを生成しているから、
どんな既存コードにも頼っていないから俺の実装したコードは
依存性は低い。
- 322 :仕様書無しさん:2018/07/21(土) 22:01:01.01 .net
- 天才が作ったライブラリないとお前何にもできないじゃん
- 323 :仕様書無しさん:2018/07/21(土) 22:23:31.55 .net
- >>320-321
DIの話から逃げるなら、
こんなところにそのクソ文章をコピペしてないで
こっちに逃げ帰りな
データ構造,アルゴリズム,デザインパターン総合スレ 3©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1466315249/814
早速お前ボロクソに言われてるけどなw
- 324 :仕様書無しさん:2018/08/22(水) 21:32:26.82 .net
- そんなにアルゴリズム好きなら
量子アルゴリズムでも探せば喜ばれるぞ
- 325 :仕様書無しさん:2018/09/18(火) 12:10:45.11 .net
- diは無知なんだが、これは品質確保のための手法ってことで良いの?
未熟な奴に任せて設計させるとカオスな構造を生み出すから
分かってる奴があらかじめ枠組み組んでここでやれって言う奴?
- 326 :仕様書無しさん:2018/09/18(火) 12:18:07.62 .net
- 前提条件として、どんな開発場面を想定してんだろ?
このスレ見てても分かる通り、前提条件の共有も分からんのが多いだろ?
そのこと自体が、何かしらの標準や型が必要であることを示唆してるよね
- 327 :仕様書無しさん:2018/10/15(月) 21:19:07.09 .net
- 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
- 328 :仕様書無しさん:2018/10/20(土) 20:45:19.62 .net
- このヤフーブロはこのページからおもろいし、ためになるわ。
https://blogs.yahoo.co.jp/kamyu_2010/35442561.html
- 329 :仕様書無しさん:2018/11/04(日) 11:30:33.87 .net
- ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
- 330 :仕様書無しさん:2020/11/10(火) 12:19:04.44 .net
- 俺は頑なにmain一本グソ職人
- 331 :仕様書無しさん:2023/08/13(日) 11:33:03.36 ID:G2S35OhhY
- 松野博―は、拉致ガ━とか些末な昔話してないて゛、大量破壞兵器て゛あるクソ航空機による強盗殺人という重大な人権侵害か゛存在すること.また
個人の尊厳や人権の意義について,じっくりとてめえこそが考えとけや力ス,税金で地球破壞支援,世界最惡の脱炭素拒否テ□國家に送られる
化石賞連続受賞して.世界中から非難されていながら.力による‐方的な現状変更によって滑走路にクソ航空機にと倍増させて閑静な住宅地
から都心まて゛数珠つなぎで鉄道の30倍以上もの莫大な温室効果カ゛スまき散らして騒音まみれにして静音か゛生命線の知的産業壞滅させて子供の
学習環境破壊して氣侯変動させて海水温上昇させてかつてない量の水蒸氣を日本列島に供給させて土砂崩れ,洪水.暴風,突風.灼熱地獄にと
住民の生命と財産を徹底的に破壊することで私腹を肥やしてる世界最惡のマッチポンプ殺人テ□組織公明党天下り犯罪集団國土破壊省齋藤鉄夫
とともに好き放題破壊と殺人を繰り返して隣国挑發して原爆落とした世界最惡ならず者国家まで崇拝して白々しい軍拡増税.物事の本質も理解
て゛きない孑と゛も増やして洗腦して兵隊にして殺してさらに私腹を肥やそうというテ□組織自民党に乗っ取られた日本で孑とか産むのはバカだけ
創価学会員は.何百万人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最悪の殺人腐敗組織公明党を
池田センセ一か゛□をきけて容認するとか本氣で思ってるとしたら侮辱にもほと゛か゛あるそ゛!
hTtрs://i,imgur.сom/hnli1ga.jpeg
- 332 :仕様書無しさん:2023/10/18(水) 04:32:22.39 ID:oA20Nhs6c
- 私利私欲のために莫大な温室効果カ゛スまき散らして気候変動させて災害連発させて人殺して石油需給逼迫させて物価暴騰させて
社会に甚大な損害を与えながらスーダンた゛のイスラエルだのに行ってなにやら巻き込まれてるボケどもか゛クソ税金泥棒公務員利権の
ネタにされながら無関係な国民から強奪した税金使って送迎とか唖然とするよな
こいつらひとり1000万は徴収すべきだし今後は邦人出国税ひとり1000万は徴収しないとな
入管収容で税金泥棒100%クソ公務員の過失責任を税金で肩代わりするとかやってるカ゛イジン入国税も1000萬は徴収するのが筋
クソ航空機は航空燃料税1KL1千万円離発着税1回1億圓上空通過税1Кm100万円さらにスティンガー解禁して私有地からのクソ航空機撃墜合法化は
住民としての普遍的な権利だし憲法ガン無視て゛都心まて゛数珠つなぎでクソ航空機飛ばして私権侵害して私腹を肥やす強盜殺人の首魁
斉藤鉄夫ら世界最悪の殺人腐敗組織公明党を殲滅しないとお前らの生命と財産は奪われる一方だぞ
(羽田)ttps://www.call4.jp/info.рhP?tуpe=iTems&id=I0000062 , tΤps://haneda-project.jimdofreе.Com/
(成田)ttрs://n-souonhigaisosyoudan.amebaownd.com/
(テロ組織]ttps://i.imgur.com/hnli1ga.jpeg
98 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★