オブジェクト指向とDIを分かりやすく例えて教えてくれ 3
レス数が1000を超えています。これ以上書き込みはできません。
■ オブジェクト指向・デザインパターン(有用)
わかり易い例
class Dog extends Animal
class Cat extends Animal
■ DI(ゴミ)
DIとは?・・・オブジェクト指向の依存関係を"ひとまとめに"定義する部分と、それを利用するために
オブジェクトを直接newするのではなく、DIコンテナにnewしてもらうパターン
https://web.archive.org/web/20170707082300/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/ >>948
なーんもわかってないね
ミスしないようになんてのは精神論だよ
部下に怒鳴り散らすバカと同じ
ミスはどうやってもある程度の確率で紛れこむという事実から目をそらすな
テストをサボるな
テストにためにインターフェースを使え >>950
前にも言っただろ理解してくれ
ラッパーだから今程度で済んでいたがこれがユーティリティだったらとっくにゲームオーバーだったんだよ
九死に一生を得るって奴だぜ >>951
隠蔽してるから柔軟に変えられるんだ
これさ
オブジェクト指向の基本中の基本な
基礎をおろそかにしちゃいかんぞキミ ラッパーが役に立つのは自分がつかうときだけだな
他人が作ったラッパーほど鬱陶しいものはない うっとおしくないけど
仮にうっとおしくてもいいんだよ
バカなやつに好き放題、生ライブラリでコード汚染されるより遥かにマシなんだな 別にうっとおしくないけど
仮にうっとおしくてもそれでいいんだよ
バカなやつに好き放題、生ライブラリでコード汚染されるより遥かにマシなんだな 対して文意がかわってないのに内容が気に食わなくて2重投稿してしまうメンタル
他人のコードを汚染呼ばわりする態度
きさまリファクタやろうだな鬱陶しい 二重投稿は電波が弱いところ入ったからミスっただけだ
汚染コードは事実だろ
外部ライブラリをあっちこっちにばら撒く行為を汚染と言わずになんというのか じゃあなにか
jre.jar以外にはかたっぱしからラッパーつくってんのか?
そこまでして何がうれしいんだ お前がいったことといったら
馬鹿なやつと汚染呼ばわりだけじゃねーか!!
通じてたまるか > このViewModelが仕様通りに動くかどうかテストしたい場合、どうしますか?
> わざわざその時間になるまで待って動かしますか?
>
> それはさすがにありえないので、
> 任意の値を返せるTimeProviderのモックアップを作ってテストします。
一方俺は、コンストラクタで任意の時間を指定できるようにした
コードは短くなり、インターフェースなど不要になった
class GreetingViewModel {
var now: Int
init(now: Int) {
self.now = now
}
func greet() -> String {
switch self.now() {
case (let hour) where (6 <= hour && hour <= 11):
return "Good Morning"
case (let hour) where (12 <= hour && hour <= 17):
return "Good Afernoon"
case (let hour) where (18 <= hour && hour <= 23) || (0 <= hour && hour <= 5):
return "Good Evening"
default:
return "Hello"
}
}
}
var viewModel = GreetingViewModel(now: Calendar.current.component(.hour, from: Date()))
print(viewModel.greet()) >>965
やっぱりDIを勘違いしてるなぁ
DIとは?・・・オブジェクト指向の依存関係を"ひとまとめに"定義する部分と、それを利用するために
オブジェクトを直接newするのではなく、DIコンテナにnewしてもらうパターン
https://web.archive.org/web/20170707082300/http://kakutani.com/trans/fowler/injection.html
> Dependency Injection の形式
> Dependency Injection の基本的な考え方は、独立したオブジェクトを
> Assembler(組み立て係)として用意し、 MovieFinder インタフェースの実装を
> MovieLister クラスのフィールドへ適切に設定させるというものだ。
> 依存関係は図2のようになる。
この依存関係の図2をみなよ Dependency Injection の基本的な考え方は、独立したオブジェクトを
Assembler(組み立て係)として用意するってところなんだが、
そのことについて全く触れていない
そしてそのAssembler(組み立て係)が、MovieFinder インタフェースの実装を
MovieLister クラスのフィールドへ適切に設定させるというものなんだが、
それについても全く触れていない そう思うなら指摘してあげなよ
これがDIだって広まってる >>966
5時を引数にインスタンス化して1時間後にgreetしたらテストエラーになるだろ
ほらなDIを使わないからバグが量産されるんだよ >>971
それとDIになんの関係が?
DIって 独立したオブジェクトを
Assembler(組み立て係)として用意するって
ことわかってるよね? >>974
それが数学的証明であることを数学的に証明してみて ネタにマジレスっていおうとしたら回答がさらにネタだった >>975
え?どうやって??
お前数学的証明を数学的に証明することなんてできるの?
そんなもんできないから数学的証明っていうんだけど? >>977
あーあ
できないんだ
じゃあ最初の証明も嘘なんだね
本当に正しいことなら数学的に証明できるはずだもの >>974
とりあえず公理系を書き出してみて
え?できない?それ数学的証明じゃないよ >>978
フェルマーの定理とか実際は長すぎて誰もついてけない
プログラムだってすぐバグるのにどっか間違ってないはずがない
数学だから正しいなんてことがあるか
経験的に実証されたものこそ真実 >>978
お前馬鹿か。
数学的証明をわかってないじゃないか。
何かを数学的に証明することはできるが
数学的証明だけは数学的に証明できないと決まってる >>979
> とりあえず公理系を書き出してみて
公理系もしらんのか?
常識だからぐぐれ そもそも数学的証明って何か知ってるのかな?
例えばお前が山田だっていうのは
数学的に証明できる
自分が山田だと名乗ればいいのだから
これが数学的証明
基本だからこれが理解できない人は
話に参加しないでほしい また別の例ではジョブズは死んだという命題があるとする
さてここでジョブズとは誰か?
それは数学的証明によってスティーブ・ジョブズのことであることが
証明されている
ここまではいいな? ではスティーブ・ジョブズとは誰かだ?
これも元Apple CEOのスティーブ・ジョブズであることが
数学的帰納法によって証明できる だが、ここでAppleとはなにか?という
命題が出てくる。
AppleといってもいろんなAppleがあるだろう。
例えばApple自動車保険だ だがここでアップル保険でないことは
数学的証明で証明できる >>981
じゃあできないことを数学的に証明してみて この世にはアップル自動車保険などない
Appleといえば、Appleしかないのだという
公理系に置いてAppleはAppleなのだ 故にジョブズは死んだにおける
ジョブズはスティーブ・ジョブズのことであり
スティーブ・ジョブズは元AppleのCEOであることが証明できる ドカタが無理に数学的って言葉を使ってるの痛々しいなw ではジョブズは本当に死んだのか?
それは、写真を見ればわかる。
あれはどう見てもガンだ もうここまで言えばわかるだろう?
数学的証明ができない問題などない ジョブスは三丁目の山田んとこの倅だよ
はいこれでこの数学的マンの証明が嘘と証明されました
同じように考えて>>974も嘘とわかりますね このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 48日 17時間 52分 17秒 レス数が1000を超えています。これ以上書き込みはできません。