「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part136
http://mevius.5ch.net/test/read.cgi/tech/1520057345/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part137
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ドコグロ MM07-2FKJ)
2018/04/06(金) 17:40:19.48ID:oKXVP34zM548デフォルトの名無しさん (ワッチョイ cbc9-k37M)
2018/05/12(土) 11:34:13.72ID:FqtFYlf30 >>543
OLEDB使えばExcelインストール無しでも読めるで
OLEDB使えばExcelインストール無しでも読めるで
549デフォルトの名無しさん (ブーイモ MM19-GlfE)
2018/05/12(土) 11:34:57.85ID:5EDA9IkjM >>469
一言でいえば古い。
一言でいえば古い。
550デフォルトの名無しさん (ワッチョイ cbc9-k37M)
2018/05/12(土) 11:36:20.02ID:FqtFYlf30 この手の議論はUI入力とデータ保持を同一のものとして考えちゃうから平行線だわな
551デフォルトの名無しさん (アウアウウー Sa89-bFqk)
2018/05/12(土) 11:40:59.55ID:My8LWy2ka552デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
2018/05/12(土) 12:09:17.30ID:iloBjJ0sM >>551
残念だけど君には話が通じないね
残念だけど君には話が通じないね
553デフォルトの名無しさん (ワッチョイ cbe8-k37M)
2018/05/12(土) 12:44:54.52ID:ek+Myn8j0554デフォルトの名無しさん (ワッチョイ 4b9f-BsV1)
2018/05/12(土) 12:51:51.95ID:XqIGE8bt0555デフォルトの名無しさん (アウアウエー Sa13-5wbU)
2018/05/12(土) 13:25:14.58ID:UZR1Ryt2a >>550
それ以前の話でしょw
設定データをユーザーが編集したいなんてかなり特殊な前提でありかつ質問者も
そんな要件を一言も上げてないのにアホかと、
.NET標準のシリアライザではなくあえて外様を使う理由はと聞いて、返って来た明確な答えは
結局「そっちの方が目新しいから」だけ。
中学生じみてるよと言ってるそばからこれだ。
プログラマ板みたいな話になっちゃうけど、本当今じゃプログラマって知能指数が低い奴が
やる仕事になってることを実感するよ
それ以前の話でしょw
設定データをユーザーが編集したいなんてかなり特殊な前提でありかつ質問者も
そんな要件を一言も上げてないのにアホかと、
.NET標準のシリアライザではなくあえて外様を使う理由はと聞いて、返って来た明確な答えは
結局「そっちの方が目新しいから」だけ。
中学生じみてるよと言ってるそばからこれだ。
プログラマ板みたいな話になっちゃうけど、本当今じゃプログラマって知能指数が低い奴が
やる仕事になってることを実感するよ
556デフォルトの名無しさん (アウアウウー Sa89-bFqk)
2018/05/12(土) 13:26:52.97ID:My8LWy2ka json,.netを使うのは早くて使いやすいからだと思う
使いやすいと書くとまた難癖つけられそうだけどw
使いやすいと書くとまた難癖つけられそうだけどw
557デフォルトの名無しさん (ドコグロ MM93-V2If)
2018/05/12(土) 14:59:39.27ID:d5Fp40ymM >>556
どういう観点で見たときの使いやすいなのか説明が無いよね?
どういう観点で見たときの使いやすいなのか説明が無いよね?
558デフォルトの名無しさん (ワッチョイ 23d2-UqMB)
2018/05/12(土) 15:01:04.84ID:15xgRckc0 >>555
Microsoftの基本的なライブラリもJSON.netに依存してる
https://www.nuget.org/packages/Microsoft.Extensions.DependencyModel/
Microsoftの基本的なライブラリもJSON.netに依存してる
https://www.nuget.org/packages/Microsoft.Extensions.DependencyModel/
559デフォルトの名無しさん (ワッチョイ 05d2-5xfy)
2018/05/12(土) 15:05:00.44ID:AEXJFe1f0 自分が json を使うとしたら、
・周りが使ってるから
・xml と比較して見た目が好み
って程度の理由だなあ。
どっちが優れてるかの比較なんてそれ自体がズレてるような。
・周りが使ってるから
・xml と比較して見た目が好み
って程度の理由だなあ。
どっちが優れてるかの比較なんてそれ自体がズレてるような。
560デフォルトの名無しさん (ワッチョイ cb81-nFcL)
2018/05/12(土) 15:35:45.32ID:KCIDKf2Q0 暇そうだな
同じヒマでも俺は運動してたけど
同じヒマでも俺は運動してたけど
561デフォルトの名無しさん (ササクッテロラ Sp21-4FyP)
2018/05/12(土) 15:49:43.76ID:F4kLnVK3p シリアライズ出来れば何でもいいよ。
562デフォルトの名無しさん (ワッチョイ cbe8-k37M)
2018/05/12(土) 16:47:10.12ID:ek+Myn8j0 結局Windowsのフォームアプリの設定ファイルは何が適してるんだよ
jsonでもxmlでも大差ないよ好きな方どうぞって結論でいいの?
jsonでもxmlでも大差ないよ好きな方どうぞって結論でいいの?
563デフォルトの名無しさん (アウアウウー Sa89-27Jw)
2018/05/12(土) 16:54:33.55ID:gqffA4Jja >>562
そもそも今時フォームアプリなんか採用する時点で全力で時代に背を向けてるんだからどうでもいいよ
そもそも今時フォームアプリなんか採用する時点で全力で時代に背を向けてるんだからどうでもいいよ
564デフォルトの名無しさん (アウアウウー Sa89-bFqk)
2018/05/12(土) 17:04:25.00ID:I6pHI0GBa565デフォルトの名無しさん (ラクッペ MM01-nFcL)
2018/05/12(土) 17:37:38.32ID:AiYRYzWlM Settings使え+1
566デフォルトの名無しさん (ブーイモ MM19-GlfE)
2018/05/12(土) 17:53:54.95ID:5EDA9IkjM >>562
configファイルにjson形式で書き込む
configファイルにjson形式で書き込む
567デフォルトの名無しさん (アウアウエー Sa13-5wbU)
2018/05/12(土) 17:58:28.95ID:UZR1Ryt2a >>564-565
質問者は「ポータブルアプリの設定ファイル」と言ってる。
ポータブルアプリがUSBメモリに入れて持ち歩くような物のことを言ってるなら、
Settingsは明らかに不適切
あと、個人的にあんまりアプリケーション設定使ったことないんで勘違いしてるかもしれんが、
これって結構制限も多いしいろいろ面倒だよね
質問者は「ポータブルアプリの設定ファイル」と言ってる。
ポータブルアプリがUSBメモリに入れて持ち歩くような物のことを言ってるなら、
Settingsは明らかに不適切
あと、個人的にあんまりアプリケーション設定使ったことないんで勘違いしてるかもしれんが、
これって結構制限も多いしいろいろ面倒だよね
568444 (ワッチョイ 4b9f-ZOQu)
2018/05/12(土) 21:13:35.08ID:4i84e4IV0 質問者ですが、こんなに荒れてしまうとは、、、申し訳ない。
おっしゃるように通常のWindowsフォームアプリならSettingsがデザイナで設定できるし楽なんですが、
ファイルの格納先がローカル(Roamingだったかな?)になるのでUSBメモリなどに持ち運んで使うポータブルアプリとしては採用できないというところでの質問でした。
特に設定ファイルの可読性を求めないようであれば、
形式としては古いが追加ライブラリ不要のXMLか、
スタンダードな形式だが別途追加ライブラリ必要なJSONか、
好きな方を選べって感じですかね。。
おっしゃるように通常のWindowsフォームアプリならSettingsがデザイナで設定できるし楽なんですが、
ファイルの格納先がローカル(Roamingだったかな?)になるのでUSBメモリなどに持ち運んで使うポータブルアプリとしては採用できないというところでの質問でした。
特に設定ファイルの可読性を求めないようであれば、
形式としては古いが追加ライブラリ不要のXMLか、
スタンダードな形式だが別途追加ライブラリ必要なJSONか、
好きな方を選べって感じですかね。。
569デフォルトの名無しさん (ワントンキン MMa3-k/8h)
2018/05/12(土) 21:31:41.93ID:9vavBtpKM ユーザー定義リソースにしてexeに直接書き込むって方法もあるよ
570デフォルトの名無しさん (ワッチョイ cbc9-k37M)
2018/05/12(土) 21:32:18.31ID:FqtFYlf30 >>568
USBで運ぶポータブルアプリ程度ならApplicationSettings保存でもいいんじゃないの?
USBで運ぶポータブルアプリ程度ならApplicationSettings保存でもいいんじゃないの?
571デフォルトの名無しさん (ワッチョイ 23e3-V2If)
2018/05/12(土) 21:33:56.53ID:yKmgHprg0 exeの直下でいいよな
572デフォルトの名無しさん (アウアウカー Sa11-4Ye1)
2018/05/12(土) 21:48:32.28ID:euW2BAe4a アプリケーションスコープにするとアプリから書き込みできないよ
573デフォルトの名無しさん (ワッチョイ a5d7-RQhD)
2018/05/12(土) 22:03:47.45ID:fKL1gupm0 >>571
でもアクセスの速度違うときあるからね。
でもアクセスの速度違うときあるからね。
574デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/13(日) 14:47:14.23ID:ySggkKZM0 すいません。
初心者なのでこちらに移動してきました。
MVC的な設計で
初期設定値を入力するフォーム
↓
初期設定値を格納するクラス
というのを作りたいのですが、
A.
クラス側に各変数のプロパティを作成
フォームからプロパティを介してクラスの変数に値を代入
B.
クラス側にフォームの初期値を取りに行くメソッドを作成
クラスからメソッドを実行してフォームに値を取りに行く
のどちらが良いのでしょう?
自分ではAの方がよさそうな気がするのですが、一般的な設計としてこうするというのがあったら教えてください。
初心者なのでこちらに移動してきました。
MVC的な設計で
初期設定値を入力するフォーム
↓
初期設定値を格納するクラス
というのを作りたいのですが、
A.
クラス側に各変数のプロパティを作成
フォームからプロパティを介してクラスの変数に値を代入
B.
クラス側にフォームの初期値を取りに行くメソッドを作成
クラスからメソッドを実行してフォームに値を取りに行く
のどちらが良いのでしょう?
自分ではAの方がよさそうな気がするのですが、一般的な設計としてこうするというのがあったら教えてください。
575デフォルトの名無しさん (ワッチョイ a5d7-RQhD)
2018/05/13(日) 16:02:40.98ID:GQV4/ETF0 ケツの穴から手をつっこんで奥歯をがたがたみたいなBよりA
576デフォルトの名無しさん (ワッチョイ 23e3-V2If)
2018/05/13(日) 16:26:25.12ID:N5R39axQ0577デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
2018/05/13(日) 16:39:15.74ID:i7PAGBqeM >>574
// form
void btnSaveInitialSettings_Click(object sender, EventArgs e) {
try { this.SaveInitialSettings(); }
catch(...) { ... }
}
void SaveInitialSettings() {
var initialSettings = this.GetInitialSettings();
var reaction =
this.initialSettingsController.SaveInitialSettings(initialSettings);
reaction?.Invoke(this);
}
// controller
Action<IInitialSettingsView> SaveInitialSettings(InitialSettings initialSettings) {
this.initialSettingsService.SaveInitialSettings(initialSettings);
return view => view.Refresh();
}
// form
void btnSaveInitialSettings_Click(object sender, EventArgs e) {
try { this.SaveInitialSettings(); }
catch(...) { ... }
}
void SaveInitialSettings() {
var initialSettings = this.GetInitialSettings();
var reaction =
this.initialSettingsController.SaveInitialSettings(initialSettings);
reaction?.Invoke(this);
}
// controller
Action<IInitialSettingsView> SaveInitialSettings(InitialSettings initialSettings) {
this.initialSettingsService.SaveInitialSettings(initialSettings);
return view => view.Refresh();
}
578デフォルトの名無しさん (ササクッテロラ Sp21-4FyP)
2018/05/13(日) 18:54:27.05ID:kDeIpxe/p 初心者は出来上がってから検討すりゃいいんだよ。
つうか、プロ目指してるなら、先ずは完成させる癖を付けないとな。
万年アマチュアでいいのなら些末な問題で盛り上がればいいさ。
つうか、プロ目指してるなら、先ずは完成させる癖を付けないとな。
万年アマチュアでいいのなら些末な問題で盛り上がればいいさ。
579デフォルトの名無しさん (ワッチョイ 23e3-Iyo3)
2018/05/13(日) 20:18:25.58ID:QhZTiQlx0 まず終わらせろ、Facebookのにいちゃんも言ってたべな。
580デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
2018/05/13(日) 20:30:10.29ID:i7PAGBqeM Facebookにいちゃんが誰かわからんがそいつが言うまず終わらせろ、とお前が考えるまず終わらせろは別物だと思うぞ
ユニットテストとリファクタリング込みでまず終わらせろ、って言ってるならマトモだけど、将来のことなにも考えずまず終わらせろって言うならただの害悪
ユニットテストとリファクタリング込みでまず終わらせろ、って言ってるならマトモだけど、将来のことなにも考えずまず終わらせろって言うならただの害悪
581デフォルトの名無しさん (ワッチョイ 25b5-4FyP)
2018/05/13(日) 20:32:15.38ID:23x2pXKw0 >>580
リファクタリングなんか完成した後にバージョンアップする機会があったらやればいいんだよ。
リファクタリングなんか完成した後にバージョンアップする機会があったらやればいいんだよ。
582デフォルトの名無しさん (ササクッテロラ Sp21-4FyP)
2018/05/13(日) 20:35:20.07ID:kDeIpxe/p 将来が有るかどうかなんて、売れてから考えろw
タイムイズマネーだ。無駄なリソース費やしてる暇が会ったら次の案件片付けろ。
タイムイズマネーだ。無駄なリソース費やしてる暇が会ったら次の案件片付けろ。
583デフォルトの名無しさん (ワッチョイ 23e3-V2If)
2018/05/13(日) 20:36:03.21ID:N5R39axQ0584デフォルトの名無しさん (ワッチョイ cd17-Iyo3)
2018/05/13(日) 20:37:25.10ID:+qfB7sI70 仕様通りの動きだけど汚いコードと
仕様通りの動きじゃないけど綺麗なコード
を同じ時間で仕上げたとして、どっちが優れているかと言えば前者だよな
仕様通りの動きじゃないけど綺麗なコード
を同じ時間で仕上げたとして、どっちが優れているかと言えば前者だよな
585デフォルトの名無しさん (ワッチョイ cbc9-k37M)
2018/05/13(日) 20:58:57.32ID:9JUaags60586デフォルトの名無しさん (ササクッテロラ Sp21-4FyP)
2018/05/13(日) 21:04:34.41ID:kDeIpxe/p まあ、熟練者になれば、素早く仕様通りのコードを綺麗に仕上げて来るからな。
初心者は先ず動くコード、次に仕様通り、最後に綺麗なコードでいいよ。
時間掛かるのはこの際問題にしないw
初心者は先ず動くコード、次に仕様通り、最後に綺麗なコードでいいよ。
時間掛かるのはこの際問題にしないw
587デフォルトの名無しさん (ワッチョイ 23e3-V2If)
2018/05/13(日) 21:04:59.21ID:N5R39axQ0 リピーターが多い汚いコードと
リピーターが少ない綺麗なコード
後者はゴミだよね
リピーターが少ない綺麗なコード
後者はゴミだよね
588デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
2018/05/13(日) 21:14:50.20ID:i7PAGBqeM 世の中の多くのバカが勘違いしてるんだけど
綺麗なコード==間違えやすい製造に時間がかかるコード
じゃないんだよね
綺麗なコードはバグが少ないし製造も早い
汚くても動くコードを早く書け!なんて言ってるやつは根本的に何かがズレてる
そんな方針でコーディングしたら汚くて動かないコードを時間をかけて作る羽目になる
綺麗なコード==間違えやすい製造に時間がかかるコード
じゃないんだよね
綺麗なコードはバグが少ないし製造も早い
汚くても動くコードを早く書け!なんて言ってるやつは根本的に何かがズレてる
そんな方針でコーディングしたら汚くて動かないコードを時間をかけて作る羽目になる
589デフォルトの名無しさん (ササクッテロラ Sp21-4FyP)
2018/05/13(日) 21:19:44.86ID:kDeIpxe/p 洗練された華麗なコードとインデント揃っただけの綺麗なコードを混同してるばか発見
590デフォルトの名無しさん (アウアウエー Sa13-5wbU)
2018/05/13(日) 21:22:07.78ID:asXlnx2Ka >>574
UI(Form)がモデル(何か仕事をするクラス)の参照を持つのは問題ないが、
逆は良くない。理由は、
(1) 役割分担があいまいになる
厨房の人間が1分おきにウェイターに注文を確認するのは適切な役割分担と言えるか?
(2) つぶしがきかない
Formの参照を握ってFormのメンバーを操作するクラスは、UIをWPFやUWPに
変更しても使いまわしできるか?
UI(Form)がモデル(何か仕事をするクラス)の参照を持つのは問題ないが、
逆は良くない。理由は、
(1) 役割分担があいまいになる
厨房の人間が1分おきにウェイターに注文を確認するのは適切な役割分担と言えるか?
(2) つぶしがきかない
Formの参照を握ってFormのメンバーを操作するクラスは、UIをWPFやUWPに
変更しても使いまわしできるか?
591デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/13(日) 21:59:31.92ID:ySggkKZM0592デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/13(日) 22:02:31.19ID:ySggkKZM0 >>590
UIがデータ格納用クラスのインスタンスを生成
UIがプロパティを介してデータ格納用クラスの変数に代入
UIがコントローラにデータ格納用クラスのインスタンスを渡す
みたいな感じでよろしいでしょうか?
UIがデータ格納用クラスのインスタンスを生成
UIがプロパティを介してデータ格納用クラスの変数に代入
UIがコントローラにデータ格納用クラスのインスタンスを渡す
みたいな感じでよろしいでしょうか?
593デフォルトの名無しさん (アウアウエー Sa13-5wbU)
2018/05/13(日) 22:27:53.20ID:asXlnx2Ka >>592
>UIがデータ格納用クラスのインスタンスを生成
誰がモデルのインスタンスを生成するかはケースバイケースだしどうでもよろしい
>UIがプロパティを介してデータ格納用クラスの変数に代入
重箱の隅をつつくようだが、オブジェクトのプロパティやメソッドを操作する時に
「データ格納用クラスの変数に代入 」なんていう内部の実装を意識する必要はない。
必要はない、というか意識しなくても使えるように作るのがカプセル化。
>UIがコントローラにデータ格納用クラスのインスタンスを渡す
俺がMVCを理解してないだけの可能性もあるが、少なくともWindows Formでは
VとCを分けたりしないのが普通と思う。コントローラなんてイラネ
>UIがデータ格納用クラスのインスタンスを生成
誰がモデルのインスタンスを生成するかはケースバイケースだしどうでもよろしい
>UIがプロパティを介してデータ格納用クラスの変数に代入
重箱の隅をつつくようだが、オブジェクトのプロパティやメソッドを操作する時に
「データ格納用クラスの変数に代入 」なんていう内部の実装を意識する必要はない。
必要はない、というか意識しなくても使えるように作るのがカプセル化。
>UIがコントローラにデータ格納用クラスのインスタンスを渡す
俺がMVCを理解してないだけの可能性もあるが、少なくともWindows Formでは
VとCを分けたりしないのが普通と思う。コントローラなんてイラネ
594デフォルトの名無しさん (アウアウカー Sa11-+fqb)
2018/05/13(日) 23:13:35.13ID:TUC5Idjma 話蒸し返して悪いんだが、xmlシリアライザーって今使ってるとやばいの?業務アプリの設定ファイルほぼこれで今までやってたんだが。。
とりあえず今やってる案件JSONで見直してみるか
一人で開発やってるとついついこういうのに遅れがちになるなぁ
とりあえず今やってる案件JSONで見直してみるか
一人で開発やってるとついついこういうのに遅れがちになるなぁ
595デフォルトの名無しさん (ワッチョイ 23d2-UqMB)
2018/05/13(日) 23:15:02.41ID:F2hiJGIV0 >>594
どんな用途で?
どんな用途で?
596デフォルトの名無しさん (ワッチョイ 237f-iSle)
2018/05/13(日) 23:22:29.79ID:KKJavIw30 csvとJSONなら圧倒的に後者のがメリットあるけど、
xmlとJSONなら規模がでかくない限りどっちでも良いや
xmlとJSONなら規模がでかくない限りどっちでも良いや
597デフォルトの名無しさん (アウアウウー Sa89-27Jw)
2018/05/13(日) 23:33:10.62ID:R40HLbPBa598デフォルトの名無しさん (ワッチョイ 6de3-V2If)
2018/05/13(日) 23:37:31.23ID:OUJCfbgi0599デフォルトの名無しさん (ワッチョイ cbe8-k37M)
2018/05/13(日) 23:38:24.99ID:PSHb3apy0600デフォルトの名無しさん (ワッチョイ 3d9e-pJrV)
2018/05/13(日) 23:40:15.36ID:u4TQvgwd0 Ant, Maven とか、Java系は、XML。
Android 画面の設定ファイルとか
Windows でも、XAML で画面設定する
プロジェクトの設定ファイルも
JSON を設定ファイルに使うのは、JavaScript を使ったもの。
例えば、Node.js を含んだ、VS Code
他には、プログラミング言語自体が設定ファイルになるもの。
Ruby, Groovy, Haxe
Android 画面の設定ファイルとか
Windows でも、XAML で画面設定する
プロジェクトの設定ファイルも
JSON を設定ファイルに使うのは、JavaScript を使ったもの。
例えば、Node.js を含んだ、VS Code
他には、プログラミング言語自体が設定ファイルになるもの。
Ruby, Groovy, Haxe
601デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
2018/05/13(日) 23:48:46.83ID:i7PAGBqeM602デフォルトの名無しさん (ワッチョイ 23d2-UqMB)
2018/05/13(日) 23:57:11.22ID:F2hiJGIV0603デフォルトの名無しさん (ワッチョイ 6de3-V2If)
2018/05/13(日) 23:57:32.58ID:OUJCfbgi0604デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
2018/05/14(月) 00:04:35.25ID:3eK20qHjM605デフォルトの名無しさん (ワッチョイ 05da-BHr/)
2018/05/14(月) 00:05:32.49ID:wCRTCiuQ0 素のJSONはコメントが使えないので設定ファイルには使い辛い。
606デフォルトの名無しさん (アウアウエー Sa13-5wbU)
2018/05/14(月) 00:17:32.79ID:gDWY5JTja 川俣さんのことを馬鹿にする人が2chには多いけど、この記事の趣旨は正しいと思う
http://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_18/extremecs_18_02.html
特定の技術への信仰と「俺スゲー」っていう間抜けな自己陶酔が結びついてる奴ってよくいるし、
このスレにも時々そんなのが出るけど、そういう奴のいうことは真に受けない方がいいですw
http://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_18/extremecs_18_02.html
特定の技術への信仰と「俺スゲー」っていう間抜けな自己陶酔が結びついてる奴ってよくいるし、
このスレにも時々そんなのが出るけど、そういう奴のいうことは真に受けない方がいいですw
607デフォルトの名無しさん (ワッチョイ 23d2-UqMB)
2018/05/14(月) 00:18:47.47ID:Wjyh58JD0 >>604
まあ普通はjson使うがな
まあ普通はjson使うがな
608デフォルトの名無しさん (ワッチョイ 4b9f-ZOQu)
2018/05/14(月) 07:03:43.68ID:oC/RgBRx0 つか業務で使うなら余程のことがない限り枯れた技術の方が安定する
609デフォルトの名無しさん (ワッチョイ 23d2-UqMB)
2018/05/14(月) 07:06:02.02ID:Wjyh58JD0 >>608
COBOLとか?
COBOLとか?
610デフォルトの名無しさん (ブーイモ MM49-27Jw)
2018/05/14(月) 07:55:56.39ID:zbYXMED5M COBOLは実際優れてるんだよなあ
低品質なPGでもほぼ完璧に見積工数通りに仕上がるし、バグもほとんど出ない
金持ちな客からきっちり工数見合いで金取れるならSIerにとってこれほど好都合な言語はない
低品質なPGでもほぼ完璧に見積工数通りに仕上がるし、バグもほとんど出ない
金持ちな客からきっちり工数見合いで金取れるならSIerにとってこれほど好都合な言語はない
611デフォルトの名無しさん (オッペケ Sr21-XDJ1)
2018/05/14(月) 08:01:56.16ID:wRU00x5/r バグでないのはアカンやろw
612デフォルトの名無しさん (アウアウカー Sa11-ZOQu)
2018/05/14(月) 08:12:24.86ID:I+nT90nna それはバグが摘出できていないだけでは
613デフォルトの名無しさん (オッペケ Sr21-8dm0)
2018/05/14(月) 08:30:53.44ID:6WkSgDmyr 工数が低減できるかどうかよりも見積が精確にできることの方が管理者にとっては重要ってわけだね
614デフォルトの名無しさん (ワッチョイ cb81-nFcL)
2018/05/14(月) 09:03:36.07ID:coszmN5L0 バグが出ないに総ツッコミでワロタ
615デフォルトの名無しさん (ワッチョイ ad8a-k/8h)
2018/05/14(月) 09:45:10.45ID:tQHKR4rj0 大体この時間にABENDしますって
異常停止をルーチンワーク化して運用している所があったな
異常停止をルーチンワーク化して運用している所があったな
616デフォルトの名無しさん (ワッチョイ 55b3-ostX)
2018/05/14(月) 10:05:11.99ID:TQ68xzma0 現場運用だと稀によくある
開発側がそれを織り込んじゃダメだけど
開発側がそれを織り込んじゃダメだけど
617デフォルトの名無しさん (アウアウカー Sa11-+fqb)
2018/05/14(月) 19:19:28.87ID:M+KhV3wka618デフォルトの名無しさん (ワッチョイ e327-0Spf)
2018/05/14(月) 20:12:46.13ID:CBd8Qc4H0 SVGやMathMLのような外部の名前区間が出てくるとか、Xamlのようにかっちりしたものを書きたい場合はXMLが有利
文字列や数値しか出てこないような簡単な構造ならJSONの方が便利なことも多い。
Trueなのかtrueなのかとか考えなくても良くて、エディタがサポートしてくれるし、エスケープの仕様とかがシンプルで、ファイルも小さい。逆に言うとその程度なのでわざわざ切り替えるほどでもないとは思う
文字列や数値しか出てこないような簡単な構造ならJSONの方が便利なことも多い。
Trueなのかtrueなのかとか考えなくても良くて、エディタがサポートしてくれるし、エスケープの仕様とかがシンプルで、ファイルも小さい。逆に言うとその程度なのでわざわざ切り替えるほどでもないとは思う
619デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/14(月) 20:37:51.15ID:5czuzhWO0 >>593
VCわけないんですか。
うーん・・・。
いろいろな設計方法があるということですね。
インスタンスの生成順として
A→B
A→C
とAからCにBのインスタンスを渡す方法は分かるのですが、
C→A
A→B
とインスタンスを生成した時、CにBのインスタンスを返すことって可能なのでしょうか?
VCわけないんですか。
うーん・・・。
いろいろな設計方法があるということですね。
インスタンスの生成順として
A→B
A→C
とAからCにBのインスタンスを渡す方法は分かるのですが、
C→A
A→B
とインスタンスを生成した時、CにBのインスタンスを返すことって可能なのでしょうか?
620デフォルトの名無しさん (アウアウカー Sa11-ZOQu)
2018/05/14(月) 20:54:23.97ID:g5WxNsfna デリゲート
621デフォルトの名無しさん (ワッチョイ f5d2-uwJI)
2018/05/14(月) 20:59:59.56ID:IVWzojCa0 【マンモグラフィー】おっぱい挟んで癌検査…必要?
http://egg.5ch.net/test/read.cgi/bio/1517115639/l50
【ペットフード】告発したら3人組に棍棒で襲われた
http://egg.5ch.net/test/read.cgi/hosp/1517110484/l50
【アマルガム】水銀を歯に? 厚労省『暴動が怖い』
http://mao.5ch.net/test/read.cgi/doctor/1517058870/l50
http://egg.5ch.net/test/read.cgi/bio/1517115639/l50
【ペットフード】告発したら3人組に棍棒で襲われた
http://egg.5ch.net/test/read.cgi/hosp/1517110484/l50
【アマルガム】水銀を歯に? 厚労省『暴動が怖い』
http://mao.5ch.net/test/read.cgi/doctor/1517058870/l50
622デフォルトの名無しさん (ワッチョイ c5eb-uwJI)
2018/05/14(月) 21:00:16.16ID:qPzo5Sk00623デフォルトの名無しさん (アウアウエー Sa13-5wbU)
2018/05/14(月) 21:35:43.16ID:1pddwh+ma >>619
何でわざわざ話を複雑にするの?
class C
{
A a;
B b;
public C()
{
a = new A(this);
b = new B(a);
}
}
例えばこれじゃダメなの?
何でわざわざ話を複雑にするの?
class C
{
A a;
B b;
public C()
{
a = new A(this);
b = new B(a);
}
}
例えばこれじゃダメなの?
624デフォルトの名無しさん (アウアウウー Sa89-5o/y)
2018/05/14(月) 21:38:33.33ID:Ju2ea7rBa DIコンテナとか諸々のイディオムを知らない初心者だからまぁしゃあない
MVCでもMVVMでもいいからチュートリアル的なものをひとつやっとくとだいぶ違うとは思う
MVCでもMVVMでもいいからチュートリアル的なものをひとつやっとくとだいぶ違うとは思う
625デフォルトの名無しさん (ワッチョイ 059a-k37M)
2018/05/14(月) 21:40:59.32ID:orCVIDzn0626デフォルトの名無しさん (ワッチョイ cb81-nFcL)
2018/05/14(月) 23:18:38.41ID:coszmN5L0 馬鹿なこと考えないでジャンケンゲームでも作ってろって
627デフォルトの名無しさん (ブーイモ MM19-27Jw)
2018/05/14(月) 23:19:52.93ID:6thsxJoDM628デフォルトの名無しさん (ブーイモ MM43-Iyo3)
2018/05/14(月) 23:24:11.06ID:LQsoSslkM なんだか要領を得ないからわからないけど
Bを操作するメソッドをAに用意してCがA経由でBを操作するのはだめなのか?
Bを操作するメソッドをAに用意してCがA経由でBを操作するのはだめなのか?
629デフォルトの名無しさん (ワッチョイ 3d9e-pJrV)
2018/05/14(月) 23:36:29.55ID:0rMMZwm+0 MVC をわかってないような奴に、何も教えられない
まず、無料のRails チュートリアルで、MVC webアプリの設計から学べ
まず、無料のRails チュートリアルで、MVC webアプリの設計から学べ
630デフォルトの名無しさん (アウアウウー Sa89-27Jw)
2018/05/15(火) 00:01:41.20ID:NfuIoln0a Railsってモデルがフォームの構造に依存するからなあ
あんなのAccessのフォームなんかと同レベルだよ
変な癖がつくから初心者には適さない
あんなのAccessのフォームなんかと同レベルだよ
変な癖がつくから初心者には適さない
631デフォルトの名無しさん (ワッチョイ 23d2-UqMB)
2018/05/15(火) 00:21:50.03ID:joJAW/ym0 >>629
スレチ
スレチ
632デフォルトの名無しさん (ワッチョイ 039d-uCqk)
2018/05/15(火) 06:26:55.76ID:bIQIvbQJ0 MVVMを理解するには何からはじめたらいいの?
633デフォルトの名無しさん (ドコグロ MM93-V2If)
2018/05/15(火) 07:15:54.13ID:OnclRViVM634デフォルトの名無しさん (ワッチョイ 039d-uCqk)
2018/05/15(火) 07:32:22.06ID:bIQIvbQJ0 やってみたけど難し過ぎて手に負えなかったってことだね。
635デフォルトの名無しさん (ブーイモ MM19-27Jw)
2018/05/15(火) 07:36:31.19ID:IL2LN/1vM >>632
Vue.jsあたりかな
XAMLはテンプレートやコマンドバインディングが複雑すぎて本質を掴みづらい
WebのMVVM系フレームワークのほうがずっと見通しが良くてMVVMの本質を素直に実装してる
Vue.jsあたりかな
XAMLはテンプレートやコマンドバインディングが複雑すぎて本質を掴みづらい
WebのMVVM系フレームワークのほうがずっと見通しが良くてMVVMの本質を素直に実装してる
636デフォルトの名無しさん (ワッチョイ ad8a-k/8h)
2018/05/15(火) 07:43:57.19ID:dqMabmxz0 まずはUNDOなりマクロを実装するのに何が必要か
考えると、「C」の動きが見えて来るかと思うけどね
GOFの最初の章にも説明はあるよ
考えると、「C」の動きが見えて来るかと思うけどね
GOFの最初の章にも説明はあるよ
637デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/15(火) 07:48:40.53ID:WESx87C+0638デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/15(火) 07:52:16.57ID:WESx87C+0 >>625
ご指摘を受けてメインのフォーム上でインスタンス管理しようとしているのですが、
アクセシビリティの一貫性というエラーが出てきています。
public partial class ExaminationForm : Form
{
public InitialSettingForm initialSettingForm;
public InitialValues initialValues;
で最後の行にアクセシビリティ一貫性のエラーが・・・。
3行目のpublicをinternalにするとエラー消えるのですがなんでだろう。
ご指摘を受けてメインのフォーム上でインスタンス管理しようとしているのですが、
アクセシビリティの一貫性というエラーが出てきています。
public partial class ExaminationForm : Form
{
public InitialSettingForm initialSettingForm;
public InitialValues initialValues;
で最後の行にアクセシビリティ一貫性のエラーが・・・。
3行目のpublicをinternalにするとエラー消えるのですがなんでだろう。
639デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
2018/05/15(火) 07:56:03.82ID:jP3S3vDhM そのビューの入出力項目と隠し項目とユースケースを抽出するだけだよ
ログイン画面だったら
入出力項目として
・ユーザーid
・パスワード
隠し項目は無し
ユースケースは
・ログインする
なので
class LoginViewModel {
public string UserId { get; set; }
public string Password { get; set; }
public void Login() {
// login impl
}
}
こうなる
あとはViewがVMを監視するために変更通知イベントなどを実装しましょう
それだけ
ログイン画面だったら
入出力項目として
・ユーザーid
・パスワード
隠し項目は無し
ユースケースは
・ログインする
なので
class LoginViewModel {
public string UserId { get; set; }
public string Password { get; set; }
public void Login() {
// login impl
}
}
こうなる
あとはViewがVMを監視するために変更通知イベントなどを実装しましょう
それだけ
640デフォルトの名無しさん (ワントンキン MMa3-2hZ9)
2018/05/15(火) 07:59:07.77ID:5QugQ9oMM >>632へのレスな↑
641デフォルトの名無しさん (アウアウウー Sa89-27Jw)
2018/05/15(火) 07:59:13.31ID:4jNLOtgZa >>638
InitialValuesクラスがinternalなんだろ
publicに変えれば意図通りになる
言っちゃ悪いけど正しい設計とか気にするレベルじゃないと思うよ
まずは汚くてもいいから一本何か形にできるようになってから考えればいい
InitialValuesクラスがinternalなんだろ
publicに変えれば意図通りになる
言っちゃ悪いけど正しい設計とか気にするレベルじゃないと思うよ
まずは汚くてもいいから一本何か形にできるようになってから考えればいい
642デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/15(火) 08:38:53.30ID:WESx87C+0 >>641
ああああああああ!
そこなのかあああ!
classってデフォルトでinternalになるんですね。
というかinternalって省略されるから気づきませんでした。
ここで半日費やしてたのでものすごく助かりました。
ありがとうございます。m(__)m
ああああああああ!
そこなのかあああ!
classってデフォルトでinternalになるんですね。
というかinternalって省略されるから気づきませんでした。
ここで半日費やしてたのでものすごく助かりました。
ありがとうございます。m(__)m
643デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/15(火) 08:42:40.68ID:WESx87C+0 >>641
一本ゲーム作ったんですが、form1(初期値)、form2(ゲーム)にほとんどぶっこんだオブジェクト指向ほぼ無視プログラムになってしまったので、
ゲーム内のデータ管理とform2だけでも分離しようとして悪戦苦闘しています。
はるか昔にBasicやったぐらいなので、インスタンスの参照渡しとかその辺がうまく実装できなくて・・・。
勉強用に買った本にもインスタンスの参照渡しなんて全く書いてないし・・・。(´・ω・`)
一本ゲーム作ったんですが、form1(初期値)、form2(ゲーム)にほとんどぶっこんだオブジェクト指向ほぼ無視プログラムになってしまったので、
ゲーム内のデータ管理とform2だけでも分離しようとして悪戦苦闘しています。
はるか昔にBasicやったぐらいなので、インスタンスの参照渡しとかその辺がうまく実装できなくて・・・。
勉強用に買った本にもインスタンスの参照渡しなんて全く書いてないし・・・。(´・ω・`)
644デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/15(火) 08:47:43.78ID:WESx87C+0 あれでも
//インスタンス生成
InitialValues initialValues = new InitialValues();
//インスタンスの参照渡し
initialSettingForm.InitialValuesPointer = initialValues;
としているのに
フィールド”InitialValues"は割り当てらせません。常に規定値nullを返します。
となります。
実際にnull値が入ってるようで、initialSettingFormにインスタンスの参照は渡せていない模様・・・。
newしてるのになんで割り当てられませんと出るのでしょう??
//インスタンス生成
InitialValues initialValues = new InitialValues();
//インスタンスの参照渡し
initialSettingForm.InitialValuesPointer = initialValues;
としているのに
フィールド”InitialValues"は割り当てらせません。常に規定値nullを返します。
となります。
実際にnull値が入ってるようで、initialSettingFormにインスタンスの参照は渡せていない模様・・・。
newしてるのになんで割り当てられませんと出るのでしょう??
645デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/15(火) 08:55:56.96ID:WESx87C+0 //インスタンス生成
×InitialValues initialValues = new InitialValues();
↓
this.initialValues = new InitialValues();
でした。すいません。
×InitialValues initialValues = new InitialValues();
↓
this.initialValues = new InitialValues();
でした。すいません。
646デフォルトの名無しさん (ワッチョイ cb96-k37M)
2018/05/15(火) 09:03:30.06ID:WESx87C+0647デフォルトの名無しさん (ワッチョイ 3d9e-pJrV)
2018/05/15(火) 09:34:05.49ID:IdD83PdN0 >>643
C++ 以外のすべての言語で、インスタンスの参照渡しだろ
C++ 以外のすべての言語で、インスタンスの参照渡しだろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本が戦争に一歩踏み出す危機感」官邸前で抗議デモ 高市総理“台湾有事”発言の撤回求める 中国メディアの姿も [蚤の市★]
- 【沖縄】『ジャングリア沖縄』開業4か月で「ガラガラ」「当然の結果」衝撃の閑散ぶりで気になる来場者数 [煮卵★]
- 「やっぱり顔採用かよ…」就活生を襲う“見えないルッキズム”の現実★2 [七波羅探題★]
- 【テレビ】片山さつき財務相 18兆円の補正予算案、財政規律派に「無駄にどこかに消えちゃうお金は一銭もない」 [少考さん★]
- 【特撮】今森茉耶降板の「ナンバーワン戦隊ゴジュウジャー」代役・志田こはく初登場 「潜入調査のために変えてもらったこの顔と声」 [Ailuropoda melanoleuca★]
- 【クマ】「人間が優先で何をしてもいいとなったら、世の中はおかしなことになる」「クマがいる自然を自慢してもいい…」北海道獣医 [少考さん★]
- 【高市悲報】「早苗バッグ」世界で脚光🤩注目度はサッチャー氏以来。女性指導者で持ち歩きは少数派【産経】🏮 [359965264]
- 小林鷹之「経済の中国依存から脱却して将来的にはゼロに近づける。世論が高市首相を批判すれば誰が得をするか考えて欲しい」 [931948549]
- フィレオフィッシュが大好きなケンモメン、あつまれー!! [881676371]
- うんち一口食う or 全身うんち風呂につかる
- 【悲報】立憲原口氏 高市総理を擁護してしまう
- <台湾外交部も困惑>高市発言で孤立するニッポン「悪夢の米中接近」サプライチェーンから除外の致命的局面へ…自力で打開が困難に [931948549]
