2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

オブジェクト指向、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
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★