!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part149
http://mevius.5ch.net/test/read.cgi/tech/1608085775/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part150
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2b02-+i0H)
2021/03/23(火) 12:58:24.10ID:ACoFzk2L0580デフォルトの名無しさん (ワッチョイ 2701-SFYt)
2021/05/01(土) 01:21:16.01ID:5wEuRr/u0 574から579の方々
ありがとうございます。
とりあえずやってみるというアドバイスが多かったので実装から着手していきたいと思います。
この質問の背景としてはクラス図やUMLでの設計をしてC#コードに落とし込もうとしてクラス図がごちゃごちゃし出してコーディングまで行けなかったという経緯です。
(OOPの話でc#そのものの質問でなかったのは申し訳ない。とはいえc#初心者の人でオブジェクト指向が初めての人は少なくないはずなのでやはりこういう質問になりがちな気もする)
様々な意見感謝です☺
参考させて頂きます。
ありがとうございます。
とりあえずやってみるというアドバイスが多かったので実装から着手していきたいと思います。
この質問の背景としてはクラス図やUMLでの設計をしてC#コードに落とし込もうとしてクラス図がごちゃごちゃし出してコーディングまで行けなかったという経緯です。
(OOPの話でc#そのものの質問でなかったのは申し訳ない。とはいえc#初心者の人でオブジェクト指向が初めての人は少なくないはずなのでやはりこういう質問になりがちな気もする)
様々な意見感謝です☺
参考させて頂きます。
581デフォルトの名無しさん (ワッチョイ 6768-TNk6)
2021/05/01(土) 10:59:09.68ID:BCm84eaD0 この前質問したバカですが(一応国公立)
何故レースゲームは膨大な建物や道路データをリアルタイムに
読み込めているんでしょうか?どういう仕組みなんですか?
例えば1Gのテキストファイルを読み込もうとすると実験しましたが、10秒かかってしまいます。
テキストファイルではなく、グラフィックデータを瞬時に読み込めるのはなぜですか?
C#より速い言語なんでしょうか?
何故レースゲームは膨大な建物や道路データをリアルタイムに
読み込めているんでしょうか?どういう仕組みなんですか?
例えば1Gのテキストファイルを読み込もうとすると実験しましたが、10秒かかってしまいます。
テキストファイルではなく、グラフィックデータを瞬時に読み込めるのはなぜですか?
C#より速い言語なんでしょうか?
582デフォルトの名無しさん (ワッチョイ 7f7b-EJSk)
2021/05/01(土) 11:07:42.89ID:bkjJ/QRj0 >>581
streamとして必要な分だけ読み込む、圧縮したデータを読み込んで展開する、あらかじめパーツを指定しその配置だけ読み込むなどなど
最初以外C#は関係ないから該当する板でやってくれ
ゲ製作技術
https://mevius.5ch.net/gamedev/
streamとして必要な分だけ読み込む、圧縮したデータを読み込んで展開する、あらかじめパーツを指定しその配置だけ読み込むなどなど
最初以外C#は関係ないから該当する板でやってくれ
ゲ製作技術
https://mevius.5ch.net/gamedev/
583デフォルトの名無しさん (スププ Sdff-FvP6)
2021/05/01(土) 11:10:22.30ID:Bazlrq4sd >>581
そのレースゲームがどんなんだか判らないけど、
ゲーム中じゃなくて起動するときに10Gでも100Gでも、
あらかじめ10分かけて読んでおけば良いんじゃないかな。
圧倒的に問題に対する条件が乏しくて、どう考えればいいのかこちらも判らないよ。
そのレースゲームがどんなんだか判らないけど、
ゲーム中じゃなくて起動するときに10Gでも100Gでも、
あらかじめ10分かけて読んでおけば良いんじゃないかな。
圧倒的に問題に対する条件が乏しくて、どう考えればいいのかこちらも判らないよ。
584デフォルトの名無しさん (ワッチョイ 6768-TNk6)
2021/05/01(土) 11:22:20.62ID:BCm84eaD0 >>583
市販のゲームは10分もかかりませんが、何故でしょうか?
市販のゲームは10分もかかりませんが、何故でしょうか?
585デフォルトの名無しさん (ワッチョイ 2701-1Vh1)
2021/05/01(土) 11:25:02.89ID:B2x+2kSO0 地図上の物体検索とかなら
numerical recipes の3rd edition に
説明があるからそれを読みたまえ。
なお日本語もC#版も無い
numerical recipes の3rd edition に
説明があるからそれを読みたまえ。
なお日本語もC#版も無い
586デフォルトの名無しさん (ワッチョイ a724-OedE)
2021/05/01(土) 11:35:09.71ID:nO6fZcYL0 >>584
583は分かりやすく極端な例を出しただけで常識的に考えて10Gのデータ読み込みなんてしないっしょ
大体重めのゲームでも起動時やマップ入場時のロードは500MBくらいじゃね?
つまりそのレースマップ入場時にそこで必要なグラフィックデータを数十秒かけて読み込ませればいい
583は分かりやすく極端な例を出しただけで常識的に考えて10Gのデータ読み込みなんてしないっしょ
大体重めのゲームでも起動時やマップ入場時のロードは500MBくらいじゃね?
つまりそのレースマップ入場時にそこで必要なグラフィックデータを数十秒かけて読み込ませればいい
587デフォルトの名無しさん (ワッチョイ a724-OedE)
2021/05/01(土) 11:52:19.99ID:nO6fZcYL0 >>584
君のレス追ってみたけどゲームじゃなくて目的はテキストファイル?
ファイルI/Oにボトルネックがあると思ってるようだけど、テキストファイルだとしたらボトルネックはエンコードにあるんじゃない?
File.ReadAllTextは割とオーバーヘッド大きいから、.NetCore3以上でSpanを利用したエンコードを構築すればいくらか早くなるかもしれない
君のレス追ってみたけどゲームじゃなくて目的はテキストファイル?
ファイルI/Oにボトルネックがあると思ってるようだけど、テキストファイルだとしたらボトルネックはエンコードにあるんじゃない?
File.ReadAllTextは割とオーバーヘッド大きいから、.NetCore3以上でSpanを利用したエンコードを構築すればいくらか早くなるかもしれない
588デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/01(土) 12:02:16.59ID:79IzxePJa >>581
自分もゲームまったく知らないので偉そうなことは言えないけど、
いきなりそんな高度な話より、例えば40年前のゲームのスーパーマリオは
たった30kBの中にどうやって32面分オーバーのマップデータを詰め込んだかを
考える方が有益だと思う。
要するに本質はI/Oじゃなくてデータをどうやって圧縮/展開するかじゃないの?
「リアルタイムで(ストレージやネットワークから)読み込み」なんかしてるはずがないと思うけど。
自分もゲームまったく知らないので偉そうなことは言えないけど、
いきなりそんな高度な話より、例えば40年前のゲームのスーパーマリオは
たった30kBの中にどうやって32面分オーバーのマップデータを詰め込んだかを
考える方が有益だと思う。
要するに本質はI/Oじゃなくてデータをどうやって圧縮/展開するかじゃないの?
「リアルタイムで(ストレージやネットワークから)読み込み」なんかしてるはずがないと思うけど。
589デフォルトの名無しさん (ワッチョイ 7f63-3Eyb)
2021/05/01(土) 12:54:20.94ID:R4IHrQy80 馬鹿は的確な質問ができないってのを凄い的確に示してくれている
590デフォルトの名無しさん (ラクッペペ MM8f-HlUj)
2021/05/01(土) 12:58:57.73ID:GvoaCTGBM ファミコンカセットはROMアドレス指定でCPUからダイレクトアクセス出来る
初期以外はアドレス足らないからマッパーで切り替えてる。物理で
初期以外はアドレス足らないからマッパーで切り替えてる。物理で
591デフォルトの名無しさん (ラクッペペ MM8f-HlUj)
2021/05/01(土) 13:13:02.51ID:GvoaCTGBM プレイステーションのすごいところは
ファミコンやPCエンジンと違って
ロード中にギャラガができる事
作りての工夫によってロード時間ゼロにすることが可能
ドラクエなんかはマップ切り替え直後はエンカウントしないよね
ファミコンやPCエンジンと違って
ロード中にギャラガができる事
作りての工夫によってロード時間ゼロにすることが可能
ドラクエなんかはマップ切り替え直後はエンカウントしないよね
592デフォルトの名無しさん (ラクッペペ MM8f-HlUj)
2021/05/01(土) 13:34:26.28ID:GvoaCTGBM サガフロの5連携が3連携で一休みしたりサガフロ2の連携が我々のレベルになると通常と変わらず目で追えたり
RAMが少ないと苦労が耐えないですね
えーっと500MBでしたっけ?ウフフ
RAMが少ないと苦労が耐えないですね
えーっと500MBでしたっけ?ウフフ
593デフォルトの名無しさん (ワッチョイ 075f-Mxzp)
2021/05/01(土) 13:37:34.47ID:/yhKW3U+0 >>591
ファミコンはそもそもロード時間ないだろ
ファミコンはそもそもロード時間ないだろ
594デフォルトの名無しさん (ラクッペペ MM8f-HlUj)
2021/05/01(土) 13:39:40.13ID:GvoaCTGBM >>593
円盤システムの話なので
円盤システムの話なので
595デフォルトの名無しさん (ワッチョイ 075f-Mxzp)
2021/05/01(土) 13:41:51.01ID:/yhKW3U+0 >>594
ファミコンやPCエンジンと違ってって自分で言っとるやん
ファミコンやPCエンジンと違ってって自分で言っとるやん
596デフォルトの名無しさん (ラクッペペ MM8f-HlUj)
2021/05/01(土) 13:47:26.99ID:GvoaCTGBM ?
つまりdiskとdiscについて話し合いたいってこと?
スレ違いでは??
つまりdiskとdiscについて話し合いたいってこと?
スレ違いでは??
597デフォルトの名無しさん (エアペラ SD9b-R7/G)
2021/05/01(土) 14:03:33.45ID:v2ArV8E8D598デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/01(土) 14:26:22.67ID:CCHnejZpa MIDIとかMMLの方がたとえ話としては適切だったかな
たった数10kBのMIDIファイル一つで16bit-48kHzの音を何分も出力できるのはなぜなのか。
1分音を鳴らすのに6MBの量子化データが必要なはずなのに
たった数10kBのMIDIファイル一つで16bit-48kHzの音を何分も出力できるのはなぜなのか。
1分音を鳴らすのに6MBの量子化データが必要なはずなのに
599デフォルトの名無しさん (ラクッペペ MM8f-HlUj)
2021/05/01(土) 14:40:58.52ID:GvoaCTGBM つまり薄っぺらな嘘を伸縮自在な愛で…
600デフォルトの名無しさん (ワッチョイ 6768-TNk6)
2021/05/01(土) 16:17:08.68ID:BCm84eaD0601デフォルトの名無しさん (ワッチョイ bfda-jeEy)
2021/05/01(土) 16:28:44.50ID:LX/vNMTG0 うん、C#じゃなくてC言語がいいと思うよ。
頑張れ
頑張れ
602デフォルトの名無しさん (ワッチョイ 0702-7a8P)
2021/05/01(土) 16:29:01.53ID:5BASMYuN0 高度どころか怠慢な素人丸出しなんだが。
高度なことを望むならまず地道に足場を固めていくべきじゃない?
すごいことをやってる(みたいだ)から、その方法を教えて!じゃなくて、自分でその理由を調べることをしないと成長はないよ。
高度なことを望むならまず地道に足場を固めていくべきじゃない?
すごいことをやってる(みたいだ)から、その方法を教えて!じゃなくて、自分でその理由を調べることをしないと成長はないよ。
603デフォルトの名無しさん (ワッチョイ df7c-OedE)
2021/05/01(土) 16:33:44.86ID:k3UheK6C0 少しずつ積み上げた方がいいという意味を早めに分かった方が良いかと思う・・・
604デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/01(土) 16:35:36.04ID:qXtdoAsC0 GPUはCPUの進化バージョンではない。
テキストファイルから特定文字のカウントするのに、全部メモリに乗せる必要は無くて、適当なサイズずつ読み込みながら文字カウントしたら?
別にC#でもそんなに重くないと思うけど。
テキストファイルから特定文字のカウントするのに、全部メモリに乗せる必要は無くて、適当なサイズずつ読み込みながら文字カウントしたら?
別にC#でもそんなに重くないと思うけど。
605デフォルトの名無しさん (ワッチョイ 075f-OedE)
2021/05/01(土) 16:35:45.23ID:IqH/tXjj0606デフォルトの名無しさん (ワッチョイ e701-mFDB)
2021/05/01(土) 16:52:35.85ID:qdLbyML+0 このセンスの無さすぎはひどいな
ゲーム作りたい中学生でも簡単に理解できる話なのに
ゲーム作りたい中学生でも簡単に理解できる話なのに
607デフォルトの名無しさん (エアペラ SD9b-R7/G)
2021/05/01(土) 17:23:02.96ID:v2ArV8E8D 597には応えてくれなかったな
質問を変えよう
母に呼ばれてリビングからダイニングに行ったら食事の用意がされていました
これはリビングから呼ばれた者がダイニングに行くまでの一瞬に、
母が食事を用意したと思うか?
質問を変えよう
母に呼ばれてリビングからダイニングに行ったら食事の用意がされていました
これはリビングから呼ばれた者がダイニングに行くまでの一瞬に、
母が食事を用意したと思うか?
608デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/01(土) 17:36:18.28ID:h1NN14xsa >>600
ストレージの「革新」については15年ぐらい前にこんなのがちょっと話題になった。
だけど、自分が知らないだけかもしれないけどその後の進展を聞かないね。
https://gigazine.net/news/20060710_mram/
NVRAM的な物のコストが下がれば記憶デバイスのカーストの中にある
メモリーとストレージの間の分厚い壁が崩壊するわけで、かなり革命的な
ことなはずなんだけど。
ストレージの「革新」については15年ぐらい前にこんなのがちょっと話題になった。
だけど、自分が知らないだけかもしれないけどその後の進展を聞かないね。
https://gigazine.net/news/20060710_mram/
NVRAM的な物のコストが下がれば記憶デバイスのカーストの中にある
メモリーとストレージの間の分厚い壁が崩壊するわけで、かなり革命的な
ことなはずなんだけど。
609デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/01(土) 17:59:43.20ID:h1NN14xsa しかしいつもの交通整理の人はこんだけ質問者が罵倒されてるのに何で黙ってるのかね。
ここはそういう行為が禁止されているはずのスレではなかったのか(笑)
ここはそういう行為が禁止されているはずのスレではなかったのか(笑)
610デフォルトの名無しさん (テテンテンテン MM8f-m/Zw)
2021/05/01(土) 18:12:14.87ID:4GddeLjJM それ以前に連休で暇だとしてもなぜこんなみえみえの嵐に付き合うんだよ…
611デフォルトの名無しさん (ワッチョイ 7f63-3Eyb)
2021/05/01(土) 18:28:58.67ID:R4IHrQy80 外も嵐だからね(意味不明)
612デフォルトの名無しさん (ワッチョイ 6768-TNk6)
2021/05/01(土) 18:53:13.69ID:BCm84eaD0 >>607
いやわかりますよ。料理を調理する時間が
HDDアクセスってことですよね?ただ料理と違う部分は、煮えるまで待つとかなくて
目的のものをとってくるだけでいいから、一瞬でその場所にいけたら、
基本的には0秒なんですよね。HDDのシークバーがその場所から動く必要がなければ最速ってことですよね。
すいません、そろそろ去ります。
基本的にC#単独では無理という結論にしました。。。
いやわかりますよ。料理を調理する時間が
HDDアクセスってことですよね?ただ料理と違う部分は、煮えるまで待つとかなくて
目的のものをとってくるだけでいいから、一瞬でその場所にいけたら、
基本的には0秒なんですよね。HDDのシークバーがその場所から動く必要がなければ最速ってことですよね。
すいません、そろそろ去ります。
基本的にC#単独では無理という結論にしました。。。
613デフォルトの名無しさん (ワッチョイ 87b0-OedE)
2021/05/01(土) 20:10:11.18ID:GAZiMPha0 本人に聞きたいわけじゃないのだが、基本的に0秒ってどういう意味なんだろう
文中に出てくる一瞬って言葉は0秒じゃないし、なのに一瞬で行けたら基本的に0秒ってのはどういうことなんだろう
小数部は切捨てて整数部だけを考えることを基本的にって言うのかな?
文中に出てくる一瞬って言葉は0秒じゃないし、なのに一瞬で行けたら基本的に0秒ってのはどういうことなんだろう
小数部は切捨てて整数部だけを考えることを基本的にって言うのかな?
614デフォルトの名無しさん (ワッチョイ 075f-OedE)
2021/05/01(土) 20:12:10.14ID:IqH/tXjj0 蒸着スピードは0.05秒
615デフォルトの名無しさん (ワッチョイ 7fbb-2I0v)
2021/05/01(土) 20:14:14.93ID:nnvUFYDz0 薄さ0.02mmでも付けてるんだぜ
616デフォルトの名無しさん (ワッチョイ dfe6-HlUj)
2021/05/01(土) 20:16:16.11ID:hvNg7eLP0 HDDの代わりにGPUにデータファイルを置けば速いって意味だろ
617デフォルトの名無しさん (ワッチョイ 0702-7a8P)
2021/05/01(土) 20:18:32.92ID:5BASMYuN0 その後に思ったことなんだけど、ファイルI/O 以外の処理速度が気になる。
100MB だっけ。そのテキストファイルの中身がメモリにあったとして、検索が終了するまでの時間はどのくらいだったんだろう。
100MB だっけ。そのテキストファイルの中身がメモリにあったとして、検索が終了するまでの時間はどのくらいだったんだろう。
618デフォルトの名無しさん (ワッチョイ dfe6-HlUj)
2021/05/01(土) 20:22:53.83ID:hvNg7eLP0 >>617
流石に大学生をバカにし過ぎでは?
流石に大学生をバカにし過ぎでは?
619デフォルトの名無しさん (オッペケ Sr5b-OedE)
2021/05/01(土) 20:28:50.64ID:jUoUZG3Jr >>612
君は面白いおもちゃだな
実際に1秒で100MBでしか読めなかったらそれを使ってどうやって派手だったりリアルな画面を作ってやろうかと思うのが
PGやゲーム制作者です
ハードに自分の要望を求めるのは単なる消費者です
昔はもっと制約が厳しかった
自分たちは子供のころからそればかり考えてた
あおりでもなんでもなくあなたには向いていません
君は面白いおもちゃだな
実際に1秒で100MBでしか読めなかったらそれを使ってどうやって派手だったりリアルな画面を作ってやろうかと思うのが
PGやゲーム制作者です
ハードに自分の要望を求めるのは単なる消費者です
昔はもっと制約が厳しかった
自分たちは子供のころからそればかり考えてた
あおりでもなんでもなくあなたには向いていません
620デフォルトの名無しさん (スププ Sdff-FvP6)
2021/05/01(土) 20:30:35.88ID:Bazlrq4sd いわゆる「ロード中」っていう処理待ちをさせずマップ切り替えが可能なゲームがあったけど、そういう話かな。
古い時代の話だから、今じゃ大したこと無いかもね。
古い時代の話だから、今じゃ大したこと無いかもね。
621デフォルトの名無しさん (オッペケ Sr5b-OedE)
2021/05/01(土) 20:32:10.77ID:jUoUZG3Jr ハイドライド3
622デフォルトの名無しさん (オッペケ Sr5b-OedE)
2021/05/01(土) 20:33:10.01ID:jUoUZG3Jr 1秒じゃなくて10秒だったな
623デフォルトの名無しさん (ワッチョイ 7fa7-wijr)
2021/05/01(土) 22:04:23.51ID:u8jqB+2A0 そもそもPCのマザボに
CPU、メモリ、HDD、グラボ乗ってんだから
それぞれに行き来するのに時間かかるってわかるやろ
CPU↔メモリ↔HDD
メモリ↔グラボ
とりあえず物理的にどうやってくっついてるのか調べるべきだと思う
CPU、メモリ、HDD、グラボ乗ってんだから
それぞれに行き来するのに時間かかるってわかるやろ
CPU↔メモリ↔HDD
メモリ↔グラボ
とりあえず物理的にどうやってくっついてるのか調べるべきだと思う
624デフォルトの名無しさん (スッップ Sdff-EcTW)
2021/05/02(日) 00:05:56.42ID:Jc9e5ibud まぁ自作したことすらない子も多い。
うちの会社もゲームやゲームハードも作ってるとこなのに開発メンバーなのにスカジーケーブルすら知らん子が入ってきてる。
抽象化や隠蔽化が進んで上のレイヤーばかり意識するようになってるから地盤が無い。
うちの会社もゲームやゲームハードも作ってるとこなのに開発メンバーなのにスカジーケーブルすら知らん子が入ってきてる。
抽象化や隠蔽化が進んで上のレイヤーばかり意識するようになってるから地盤が無い。
625デフォルトの名無しさん (ワッチョイ 0702-7a8P)
2021/05/02(日) 00:19:41.09ID:9GC+BpRR0626デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/02(日) 00:23:00.38ID:BrJlALbya627デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/02(日) 00:25:26.19ID:BrJlALbya もうISAやCバスだって知らない人の方が多いよね。下手したらAGPも
それどころかPS/2やLPTみたいなちょっと前のレガシーポートだって
今の20代の大半は知らないだろう
それどころかPS/2やLPTみたいなちょっと前のレガシーポートだって
今の20代の大半は知らないだろう
628デフォルトの名無しさん (スッップ Sdff-EcTW)
2021/05/02(日) 00:29:06.70ID:Jc9e5ibud その辺の事務や営業じゃなくて、コンピュータハード作ろうという子がバリバリ現役のスカジー知らんとか相当不勉強なんだけとw
Unityでちゅろっとゲーム作るような層じゃあるまいし。
Unityでちゅろっとゲーム作るような層じゃあるまいし。
629デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/02(日) 00:35:00.92ID:BrJlALbya >>628
SCSiが現役な程度にはISAバスだって一部の産業用途で現役だけど、
さすがにあなたもISA知らんのは不勉強とか言わんでしょ(笑)
要するにそれ自分中心主義なんだよ
そういうおじさんみっともないよマジで
SCSiが現役な程度にはISAバスだって一部の産業用途で現役だけど、
さすがにあなたもISA知らんのは不勉強とか言わんでしょ(笑)
要するにそれ自分中心主義なんだよ
そういうおじさんみっともないよマジで
630デフォルトの名無しさん (ワッチョイ 5f2d-eh0L)
2021/05/02(日) 00:42:55.47ID:smoYWJQA0 一部業界でしか生き残っていないものを知らなくて当然
SCSIが一般的でなくなってから相当経つからな
SCSIが一般的でなくなってから相当経つからな
631デフォルトの名無しさん (ワッチョイ 075f-Mxzp)
2021/05/02(日) 01:03:34.73ID:WAC22cE20 コンシューマゲーム機だとSCSI使ってたのは、ドリームキャストとかGBAの世代までだったなー
SCSIは相性があるから結構厳密に型番指定されてたっけ
そしてそれら以降のハードはみんなUSBだった気がする
SCSIは相性があるから結構厳密に型番指定されてたっけ
そしてそれら以降のハードはみんなUSBだった気がする
632デフォルトの名無しさん (ワッチョイ 0702-7a8P)
2021/05/02(日) 11:04:21.93ID:9GC+BpRR0 「SCSIを知ってる」ってどのレベルでのことを言ってるんだろう。
名前を知っていればいいレベルなら、必要になったときに調べれば済むんじゃ。
昔に流行ったの技術を知らないのは不勉強、って言われても困るような気がする。
名前を知っていればいいレベルなら、必要になったときに調べれば済むんじゃ。
昔に流行ったの技術を知らないのは不勉強、って言われても困るような気がする。
633デフォルトの名無しさん (ワッチョイ 6793-R7/G)
2021/05/02(日) 11:34:55.65ID:kVgm1y330 SCSIは抽象化されて残ってるじゃん
物理インターフェースだけの存在じゃない
iSCSIなら当たり前に見かけるだろ
そもそも0と0を超えた時間とを同一視し、
0にならないことをにわかには信じられないと宣う国公立大学生って嘘くさい
国公立中学生っぽいからまずは基本情報技術者の勉強でもして、
言語とハードウェアの関係から学ぶのがよさそうだね
物理インターフェースだけの存在じゃない
iSCSIなら当たり前に見かけるだろ
そもそも0と0を超えた時間とを同一視し、
0にならないことをにわかには信じられないと宣う国公立大学生って嘘くさい
国公立中学生っぽいからまずは基本情報技術者の勉強でもして、
言語とハードウェアの関係から学ぶのがよさそうだね
634デフォルトの名無しさん (ワッチョイ 2701-1Vh1)
2021/05/02(日) 12:23:17.90ID:i3WiXYxp0 sasはまだ現役でしょうに
635デフォルトの名無しさん (ワッチョイ 5f2d-eh0L)
2021/05/02(日) 12:30:57.35ID:smoYWJQA0 抽象化や隠蔽化の進んでいない下のレイヤーの話としてのSCSIケーブルだから
iSCSIやSASは想定していないと思うけどなぁ
iSCSIやSASは想定していないと思うけどなぁ
636デフォルトの名無しさん (エアペラ SD9b-R7/G)
2021/05/02(日) 13:02:24.18ID:PbhH3UoFD それは今の必須知識じゃないからね
SCSIバスやケーブルの知識があっても、今となっては古いシリアル規格の知識でしか無い
SCSIバスやケーブルの知識があっても、今となっては古いシリアル規格の知識でしか無い
637デフォルトの名無しさん (テテンテンテン MM8f-m/Zw)
2021/05/02(日) 13:16:44.85ID:bVQBnZjhM > C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
> C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
大事なことなので…
> C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
大事なことなので…
638デフォルトの名無しさん (ワッチョイ 2701-SFYt)
2021/05/02(日) 13:26:41.16ID:6VPLrRfP0 インターフェースって継承以外でインスタンス化してフィールドに持たせるように使う場合があるけど、それって違う場所に定義している関数を呼び出して使うような感じ?
いまいちインターフェースの使い方がわからぬ
いまいちインターフェースの使い方がわからぬ
639デフォルトの名無しさん (スッップ Sdff-EcTW)
2021/05/02(日) 13:41:54.97ID:Jc9e5ibud 「コントロールがきかない、再コンパイル依頼が効かない」第三者にバイナリのdllを公開してかつ、3年5年と更新しつづけていけばいやでもわかる。
640デフォルトの名無しさん (ワッチョイ 8733-jDx3)
2021/05/02(日) 13:48:58.41ID:JVX0w7410 オブジェクト指向の言語やってて、デザインパターンの勉強しない奴とか居るんだな。
641デフォルトの名無しさん (ブーイモ MMcf-XmiE)
2021/05/02(日) 13:51:59.04ID:gOHPQIPOM それぐらいなら別にinterface要らんけどな
自社DLLの指し替えOKならメソッドの中身変えるのはできる
TypeScriptのinterfaceぐらいになったら便利だけどC#やJavaのinterfaceはそこまで重要じゃない
自社DLLの指し替えOKならメソッドの中身変えるのはできる
TypeScriptのinterfaceぐらいになったら便利だけどC#やJavaのinterfaceはそこまで重要じゃない
642デフォルトの名無しさん (ワッチョイ df01-i6Oo)
2021/05/02(日) 14:46:34.33ID:hSgvj4Ff0 >>638
実装を入れ替え可能にするために使う
インターフェースを使う側はインターフェースがどう実装されてるかを気にしない
関心事の分離や責務の分割というやつ
public class CustomerService
{
private readonly ICustomerRepository customerRepository;
public CustomerService(ICustomerRepository customerRepository)
{
this.customerRepository = customerRepository;
}
}
CustomerServiceはcustomerRepositoryがどういう永続化技術を使ってるか関知しない
RDBMSを使った実装からKVSを使った実装に変更したとしてもCustomerServiceクラスは変更する必要がない
単一責任の原則や依存性逆転の原則というオブジェクト指向設計の基本原則に従ってる
実装を入れ替え可能にするために使う
インターフェースを使う側はインターフェースがどう実装されてるかを気にしない
関心事の分離や責務の分割というやつ
public class CustomerService
{
private readonly ICustomerRepository customerRepository;
public CustomerService(ICustomerRepository customerRepository)
{
this.customerRepository = customerRepository;
}
}
CustomerServiceはcustomerRepositoryがどういう永続化技術を使ってるか関知しない
RDBMSを使った実装からKVSを使った実装に変更したとしてもCustomerServiceクラスは変更する必要がない
単一責任の原則や依存性逆転の原則というオブジェクト指向設計の基本原則に従ってる
643デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/02(日) 14:53:27.70ID:vJ/g4PX7a >>638
全然違うものを透過的に扱いたい場合ってあるでしょ?
例えばビデオゲームで入力デバイスとしてゲームコントローラーだけでなく、
キーボードやタッチパネルも使えるようにしたいとか。
とりあえずはInterfaceはそういう要求を満たすためのものだと
理解しておけばいいよ。それ「だけ」ではないけどね
全然違うものを透過的に扱いたい場合ってあるでしょ?
例えばビデオゲームで入力デバイスとしてゲームコントローラーだけでなく、
キーボードやタッチパネルも使えるようにしたいとか。
とりあえずはInterfaceはそういう要求を満たすためのものだと
理解しておけばいいよ。それ「だけ」ではないけどね
644デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/02(日) 15:09:58.26ID:vJ/g4PX7a 汎用性を高めるためって考えた方が分かりやすいかもね。
昔テレビデオってあったけど、世の中にHDMIみたいなインターフェイスが存在せずに
ああいうモノリシック構造の機械しか存在しなかったらどんだけ不便か考えれば
インターフェイスの意味なんてイチコロだと思うけどな
昔テレビデオってあったけど、世の中にHDMIみたいなインターフェイスが存在せずに
ああいうモノリシック構造の機械しか存在しなかったらどんだけ不便か考えれば
インターフェイスの意味なんてイチコロだと思うけどな
645デフォルトの名無しさん (ブーイモ MMcf-XmiE)
2021/05/02(日) 16:17:56.85ID:jdfWZ4dSM 最近はそういうのは関数を渡すんでよくなってる
646デフォルトの名無しさん (スププ Sdff-BL7Q)
2021/05/02(日) 17:53:29.91ID:two2wwYId 関数を渡すとしても、引数なり戻り値なりの型を定義しないとならんしな。
実装を含まない定義を切り出しておかないと、容易に循環参照になってクリーンビルド出来なくなるぞ。
実装を含まない定義を切り出しておかないと、容易に循環参照になってクリーンビルド出来なくなるぞ。
647デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/02(日) 18:03:29.16ID:sTlH4cY7a >>645
デリゲートで済む用途に(無理に)インターフェイスを流用しなくて済むようになっただけ。
デリゲートで済む用途に(無理に)インターフェイスを流用しなくて済むようになっただけ。
648デフォルトの名無しさん (ワッチョイ df61-Lr3t)
2021/05/02(日) 18:14:35.65ID:KSgMbN0G0 インターフェイスつかってるとVisualStudioで定義に飛んでもメソッドの実装見れないから腹立つんでやめてください。
649デフォルトの名無しさん (スププ Sdff-BL7Q)
2021/05/02(日) 18:16:04.86ID:two2wwYId >>648
逆に、実装を見るなという意思表示では?
逆に、実装を見るなという意思表示では?
650デフォルトの名無しさん (ワッチョイ df61-Lr3t)
2021/05/02(日) 18:24:40.27ID:KSgMbN0G0 >>649
見られたくない恥ずかしい実装してるってことですねわかりました
見られたくない恥ずかしい実装してるってことですねわかりました
651デフォルトの名無しさん (ブーイモ MMcf-XmiE)
2021/05/02(日) 18:25:03.65ID:t+a18Ga0M class X: IX {
private IY y;
public X(IY yy) {y=yy;}
public T foo(U u) { ... }
↑こんなの冗長で面倒くさいだけじゃん
↓これでいいんだよ
static class X {
public static T foo(Func<...> y , U u) { ... }
C#最大の欠点はTSなどと違ってトップレベル関数を定義できないことだな
まあそのうち導入されるだろうけど
>>647
まあそうだね
そしてデリケートで済まない用途なんてのは、ないんだなこれが
private IY y;
public X(IY yy) {y=yy;}
public T foo(U u) { ... }
↑こんなの冗長で面倒くさいだけじゃん
↓これでいいんだよ
static class X {
public static T foo(Func<...> y , U u) { ... }
C#最大の欠点はTSなどと違ってトップレベル関数を定義できないことだな
まあそのうち導入されるだろうけど
>>647
まあそうだね
そしてデリケートで済まない用途なんてのは、ないんだなこれが
652デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/02(日) 18:48:49.12ID:sTlH4cY7a OKでは
(1) IEnumerableと機能的に等価なものを実装してみせてほしい
(2) IComparable<T>はComparison<T>で置換できるが、
(a) ジェネリックでIComparableで制約をかけるのと同じことはどうやって実現するのか?
(b) 毎回いちいちComparisonを指定しなきゃならん煩雑さはどうしてくれる?
(1) IEnumerableと機能的に等価なものを実装してみせてほしい
(2) IComparable<T>はComparison<T>で置換できるが、
(a) ジェネリックでIComparableで制約をかけるのと同じことはどうやって実現するのか?
(b) 毎回いちいちComparisonを指定しなきゃならん煩雑さはどうしてくれる?
653デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/02(日) 19:00:20.53ID:2vdkVbTy0 >>651
Funcの型と、Uはどこで定義した何なの?
俺ならUはインターフェイスにすると思うけど。
fooを呼ぶ側も、foo側からも参照できる型である必要があるよね。
なんとなくプリミティブしか意識してない気がする。
Funcの型と、Uはどこで定義した何なの?
俺ならUはインターフェイスにすると思うけど。
fooを呼ぶ側も、foo側からも参照できる型である必要があるよね。
なんとなくプリミティブしか意識してない気がする。
654デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/02(日) 19:41:10.32ID:sTlH4cY7a 制約の問題はIComparableぐらいならコンストラクタで必要なデリゲートを指定しないと
インスタンス化できないようにするみたいなことで解決できるけど、
インターフェイスのメンバーが多かったりイベントを含んでたりするとそうもいかんね。
インスタンス化できないようにするみたいなことで解決できるけど、
インターフェイスのメンバーが多かったりイベントを含んでたりするとそうもいかんね。
655デフォルトの名無しさん (ブーイモ MMcf-XmiE)
2021/05/02(日) 20:12:47.50ID:t+a18Ga0M656デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/02(日) 21:45:53.38ID:2vdkVbTy0657デフォルトの名無しさん (ブーイモ MMcf-XmiE)
2021/05/02(日) 21:58:29.87ID:+xOhjhDaM >>656
言ってること意味不明だから多分君なんか勘違いしてる
言ってること意味不明だから多分君なんか勘違いしてる
658デフォルトの名無しさん (ワッチョイ e7bd-xxOn)
2021/05/02(日) 22:16:38.89ID:keNMubny0 >>648
Ctrl+F12でよくない?
Ctrl+F12でよくない?
659デフォルトの名無しさん (ワッチョイ 7fa7-wijr)
2021/05/02(日) 22:20:11.10ID:/HNwvjpa0 >>648
実装へ飛ぶ的な右クリックメニューがある
実装へ飛ぶ的な右クリックメニューがある
660デフォルトの名無しさん (ワッチョイ bf62-gjyJ)
2021/05/02(日) 22:52:19.04ID:vVweUfCP0 実装に移動なんてあったんだな
これかなり助かるわ
これかなり助かるわ
661デフォルトの名無しさん (ワッチョイ 87b0-OedE)
2021/05/02(日) 23:12:46.37ID:OnfmzaV30 >>657
クラスに実装するのなら、ドメインに焦点を当てたクラスにその実装も凝集されるけど、
外部からデリゲートで渡す場合はそのデリゲートをどこに定義すんのって事じゃない?
1回しか使わないのなら匿名関数でいいけど、複数箇所から同じ用途で使うのなら書き捨てじゃなくどこかで定義しておきたいと思うし、
更にそれが一体何のための処理なのかを設計に落とし込むなら適切な場所で宣言実装しないとだし
抽象的な話してると自分の頭じゃ理解しきれないな
こういう設計の場合こうすればよくね/こういう問題があるやんっていう具体例が欲しい
クラスに実装するのなら、ドメインに焦点を当てたクラスにその実装も凝集されるけど、
外部からデリゲートで渡す場合はそのデリゲートをどこに定義すんのって事じゃない?
1回しか使わないのなら匿名関数でいいけど、複数箇所から同じ用途で使うのなら書き捨てじゃなくどこかで定義しておきたいと思うし、
更にそれが一体何のための処理なのかを設計に落とし込むなら適切な場所で宣言実装しないとだし
抽象的な話してると自分の頭じゃ理解しきれないな
こういう設計の場合こうすればよくね/こういう問題があるやんっていう具体例が欲しい
662デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/02(日) 23:55:49.46ID:2vdkVbTy0663デフォルトの名無しさん (ブーイモ MMcf-XmiE)
2021/05/03(月) 00:35:06.67ID:AKP9VyEvM >>661
構文レベルでクラスで書く意味はなく、関数でこう書けばいいでしょ、って意図のレスに対して
その疑問(設計レベルの問題)って方向性ズレてるってことは理解してる?
まあいいけど
ドメイン上のある責務に関連した処理をまとめたいって意図で聞いてるなら、モジュールで分ければいいよ
クラスは要らない
例えばOOPでIY, YがリポジトリでIX, XがリポジトリのCreateメソッドを使う何らかのサービスだったとするよ
関数で書くときはYモジュールにget, update, create, deleteなどの関数を定義する
Xにはfuncを定義して、もし関連性が高い別の機能もあればまあ一緒に定義してもいい
んで実行時にはX, Yをインポートして
func(create, u);
みたいにして呼び出すだけでしょ
funcとcreateをバインドして
_func = u => func(create, u);
みたいにしてDIでやってるようなこともできる
これならインターフェースもクラスも要らんよね?
関数だけがあればいい
構文上のムダが多いクラスを使う利点はほとんどないよ
>>662
相変わらずなにが言いたいかわからん
構文レベルでクラスで書く意味はなく、関数でこう書けばいいでしょ、って意図のレスに対して
その疑問(設計レベルの問題)って方向性ズレてるってことは理解してる?
まあいいけど
ドメイン上のある責務に関連した処理をまとめたいって意図で聞いてるなら、モジュールで分ければいいよ
クラスは要らない
例えばOOPでIY, YがリポジトリでIX, XがリポジトリのCreateメソッドを使う何らかのサービスだったとするよ
関数で書くときはYモジュールにget, update, create, deleteなどの関数を定義する
Xにはfuncを定義して、もし関連性が高い別の機能もあればまあ一緒に定義してもいい
んで実行時にはX, Yをインポートして
func(create, u);
みたいにして呼び出すだけでしょ
funcとcreateをバインドして
_func = u => func(create, u);
みたいにしてDIでやってるようなこともできる
これならインターフェースもクラスも要らんよね?
関数だけがあればいい
構文上のムダが多いクラスを使う利点はほとんどないよ
>>662
相変わらずなにが言いたいかわからん
664デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/03(月) 00:50:26.13ID:MrRb6D/k0 >>663
なんでわからんのかな。
なんでわからんのかな。
665デフォルトの名無しさん (テテンテンテン MM8f-m/Zw)
2021/05/03(月) 01:00:53.01ID:ppBWlDH7M666デフォルトの名無しさん (アウアウウー Saab-TNk6)
2021/05/03(月) 01:42:30.76ID:FYXS8pYUa >>665
>できるできないの話ならアセンブラなら何でも実現できるよw
意外にこれが本質だろうね。
一昔前のOOP批判にも「構造体でも同じことが実現できる」ってのがあった。
そりゃできるに決まってるが、そういう批判には無理してそうやって
書いたコードが果たして人に理解しやすいのか、
人間の認知能力に親和的なのか、という視点が欠けていた。
>できるできないの話ならアセンブラなら何でも実現できるよw
意外にこれが本質だろうね。
一昔前のOOP批判にも「構造体でも同じことが実現できる」ってのがあった。
そりゃできるに決まってるが、そういう批判には無理してそうやって
書いたコードが果たして人に理解しやすいのか、
人間の認知能力に親和的なのか、という視点が欠けていた。
667デフォルトの名無しさん (ワッチョイ 5f2d-eh0L)
2021/05/03(月) 01:44:06.35ID:p8zZzwHv0 おじいちゃんこないだから暴れ過ぎ
OOPもInterfaceも不要って何でC#使ってるんだろう
OOPもInterfaceも不要って何でC#使ってるんだろう
668デフォルトの名無しさん (ワッチョイ 2701-1Vh1)
2021/05/03(月) 01:44:36.83ID:JIK/4A/q0 xview/sunview のAPIは全部構造体だったなぁ
669デフォルトの名無しさん (ワッチョイ 87b0-OedE)
2021/05/03(月) 01:46:57.30ID:el9v2bCt0 >>663
構文レベルでは引っかかるところは無いので、設計レベルの質問した感じ
自分の理解があやしいのは自覚してるので質問しつつ補おうとしてる ※自分は半人前くらいなので
663読んで見えてなかった場所が見えたのだけど、
>>651のコード例でいうとIYとYの定義が無くなって、代わりにYモジュール増えてるんだよね?
差し引きで言うほど構文が楽になってる?この辺は個人の感覚だけど、そんな変わらないような気がした
ついでにいうと、Xから見たときに何やってるのか解らなくなってる気がした
インターフェース使った時であれば詳細は良くわからんけどリポジトリ用のIYインターフェース使ってそっちに任せてるんだなという隠蔽だけど、
デリゲートでやると何か良くわからん関数受け取って処理させてるわってならない?
構文レベルでは引っかかるところは無いので、設計レベルの質問した感じ
自分の理解があやしいのは自覚してるので質問しつつ補おうとしてる ※自分は半人前くらいなので
663読んで見えてなかった場所が見えたのだけど、
>>651のコード例でいうとIYとYの定義が無くなって、代わりにYモジュール増えてるんだよね?
差し引きで言うほど構文が楽になってる?この辺は個人の感覚だけど、そんな変わらないような気がした
ついでにいうと、Xから見たときに何やってるのか解らなくなってる気がした
インターフェース使った時であれば詳細は良くわからんけどリポジトリ用のIYインターフェース使ってそっちに任せてるんだなという隠蔽だけど、
デリゲートでやると何か良くわからん関数受け取って処理させてるわってならない?
670デフォルトの名無しさん (アウアウエー Sa9f-XmiE)
2021/05/03(月) 02:08:36.88ID:PW8YFNOca671デフォルトの名無しさん (ワッチョイ 7fa7-wijr)
2021/05/03(月) 03:11:07.27ID:oM0LAQLj0 >>667
突き詰めるといらない
だってc言語で完成されてるし
だから場面場面で使用するメリットを説明できるかってのは重要になると思う
先読みでの将来的に〜になる見込みで
先行投資を現場のPGの勝手な判断で行ったってのは相当アホな所業
突き詰めるといらない
だってc言語で完成されてるし
だから場面場面で使用するメリットを説明できるかってのは重要になると思う
先読みでの将来的に〜になる見込みで
先行投資を現場のPGの勝手な判断で行ったってのは相当アホな所業
672デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/03(月) 08:08:21.32ID:MrRb6D/k0 Interfaceが不要なメソッドってのも意味がわからんのだがな。
OOPでなくとも、型のキャスト可/不可には、インターフェイスがあったほうが良い。
これはGoみたいな、トップレベル関数で書ける他の言語でも同じ。
OOPでなくとも、型のキャスト可/不可には、インターフェイスがあったほうが良い。
これはGoみたいな、トップレベル関数で書ける他の言語でも同じ。
673デフォルトの名無しさん (テテンテンテン MM8f-GPK9)
2021/05/03(月) 08:20:32.49ID:kW5Idv8oM ここはC#初心者のためのスレのはずなんだけど
このおじいちゃん、なんでこのスレで自分の主義主張を振りまいてるんだろう?
自分の書き方が2021年時点で一般的な書き方と大きくかけ離れた時代錯誤なものと分かったうえで
初心者にもそういう書き方を強要したいの?
それとも誰かに構ってもらうのが目的なの? 自社の若手に煙たがれて敬遠されてるとこういうスレでクダを巻きたくなるのかな?
率直に言って、このおじいちゃんは
Rubyガイジ並みorそれ以上の害悪だからもうこのスレで書きこまないでほしい
このおじいちゃん、なんでこのスレで自分の主義主張を振りまいてるんだろう?
自分の書き方が2021年時点で一般的な書き方と大きくかけ離れた時代錯誤なものと分かったうえで
初心者にもそういう書き方を強要したいの?
それとも誰かに構ってもらうのが目的なの? 自社の若手に煙たがれて敬遠されてるとこういうスレでクダを巻きたくなるのかな?
率直に言って、このおじいちゃんは
Rubyガイジ並みorそれ以上の害悪だからもうこのスレで書きこまないでほしい
674デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/03(月) 08:36:10.53ID:MrRb6D/k0 どっちの指摘?
675デフォルトの名無しさん (ワッチョイ 7f63-3Eyb)
2021/05/03(月) 09:50:34.48ID:AZIpChV60 構う奴もガイジって20年前から言われてるはずだがいい加減学習できないのかねチンパン君
676デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/03(月) 11:36:41.28ID:8gAH2GR/M 昨日は触れなかったけど、関数のメリットの中でも特に大きいのは、テストのしやすさね
インターフェースにしちゃうと、テストモック作んのが面倒くさすぎんのよ
いちおうモックフレームワークみたいなのもあるけど、ありゃプログラミングパズルみたいでマトモじゃない
長くメンテナンスするには疲弊が勝る
そもそもなんでモックが必要になるかって
、OOPでインターフェース使ってDI、なんてことをやるから無駄にオブジェクトの数とオブジェクト間の参照が増えていくからだ
関数なら簡単だ
都合のいいラムダを渡すだけ
関数には無駄なオブジェクトも参照もない
これ以上にシンプルなものはない
これを知ってしまうとOOPなんてやってられんくなるよ
インターフェースにしちゃうと、テストモック作んのが面倒くさすぎんのよ
いちおうモックフレームワークみたいなのもあるけど、ありゃプログラミングパズルみたいでマトモじゃない
長くメンテナンスするには疲弊が勝る
そもそもなんでモックが必要になるかって
、OOPでインターフェース使ってDI、なんてことをやるから無駄にオブジェクトの数とオブジェクト間の参照が増えていくからだ
関数なら簡単だ
都合のいいラムダを渡すだけ
関数には無駄なオブジェクトも参照もない
これ以上にシンプルなものはない
これを知ってしまうとOOPなんてやってられんくなるよ
677デフォルトの名無しさん (ワッチョイ bf42-OedE)
2021/05/03(月) 11:37:53.09ID:WvqQmPZG0 まあ1対1のインターフェースは要らないな
複数のクラスを同じ仕組みで扱うときに有効になるものだ
複数のクラスを同じ仕組みで扱うときに有効になるものだ
678デフォルトの名無しさん (スププ Sdff-BL7Q)
2021/05/03(月) 11:42:45.35ID:KphYKkJEd 都合の良いラムダを渡すだけ。
そのラムダの引数の型は?
普通ベースクラスかインターフェイスでは?
なんか勘違いしてる気がする。
アセンブリ1つが前提になってる?
そのラムダの引数の型は?
普通ベースクラスかインターフェイスでは?
なんか勘違いしてる気がする。
アセンブリ1つが前提になってる?
679デフォルトの名無しさん (スププ Sdff-BL7Q)
2021/05/03(月) 11:45:24.03ID:KphYKkJEd >>677
そりゃそうね。
そりゃそうね。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★10 [BFU★]
- 【🍝】「偽カルボナーラ」にイタリア激怒、パンチェッタの使用は「犯罪」と非難 [Ailuropoda melanoleuca★]
- 中国で喧伝される「日本苦境論」、中国ネットは懐疑的「日本人は実際は喜んでいるのでは?」「日中共に『こっちが勝った』って言ってる」 [1ゲットロボ★]
- 【コメ】価格「5キロ4316円」最高値を更新…「おこめ券」が解決につながらない根本的な理由 コメ農家が危機感をあらわにする「離農」★2 [ぐれ★]
- 【東京】神田駅近くの路上で催涙スプレーかけ鉄パイプで暴行か 男ら5人逮捕 台湾出身の男性2人けが 犯行直前“防犯カメラにスプレー” [ぐれ★]
- 【横浜】「タイプだったので下着が見たいと」塾帰りの小学6年女子児童を尾行 マンションに侵入し盗撮か 大学院生の男(25)逮捕 [nita★]
- 高市「国債追加発行するわよ」 [931948549]
- 麻生太郎(85)「国民は台湾有事で戦う覚悟が求められる」 [961870172]
- ヤフコメ民「短いスパンで見ると経済的には損かもだけど、長い目で見ると国益になる」👈そもそも認知が歪んでた🥺 [399259198]
- 🏡なにゃこのスリャ!🐧⚡🏡
- 【ネトウヨ困惑】高市「戦略的互恵関係の包括的推進という方向性に変わりはない!」と、中国との関係を表明 [219241683]
- 🏡パンかお米どっち派?🍞🍞😅🍚🍚🏡
