クイックメニュー
スレタイ検索

C#, C♯, C#相談室 Part93

257デフォルトの名無しさん [sage]

AAS

NG

マイクロソフトのホームページだとPublicにしてますね。

これだとどこからでもすべてのデータにアクセスできるから便利だし可読性もいいけど、
どこかでうかつにdataHolderの変数に変な値を入れると、
どこがバグになっているのか全コード読まなければいけないですね。

うーん・・・。
世の中そんなもんなのか?

2018/05/12(土)11:36:18.82(RvuVG0qm0.net)


258デフォルトの名無しさん [sage]

AAS

NG

>>256
お好きに
結局は書きやすさと安全性のトレードオフ

ガッチガチに書くならgetterだけのImmutableオブジェクトを表すインターフェイスとそれを実装する具体クラスに分離してViewにはインターフェイスだけ教えるとか(あまりやらない)
作る人数とか規模によってどの程度強制するか変わってくるから程よくやるのが重要, 一貫性は重要だが徹底しすぎるとしんどい

2018/05/12(土)11:43:38.40(vhGL8v7ea.net)


259デフォルトの名無しさん [sage]

AAS

NG

>>258
immutableなんてものがあるんですね。
ごく一部の変数以外はimmutableで事足りるから、immutable設定にします。
publicでdataHolderクラス作ってメンバ変数はすべてimmutableにすれば、

可読性、コーディングの利便性、安全性

全部満たせますね。
なんて便利なんだ…。( ゚д゚)

2018/05/12(土)11:57:15.21(RvuVG0qm0.net)


260デフォルトの名無しさん [sage]

AAS

NG

>>259
残念ながらC#では上手くImmutableに出来ない(出来るかもしれないが最近やってないので詳しい人教えて)
TypeScriptとかなら既存の型にReadonlyを再帰的に付けた型が簡単に作れるんだけどなぁ

2018/05/12(土)12:02:17.65(vhGL8v7ea.net)


261デフォルトの名無しさん [sage]

AAS

NG

MVCって、VとCの境界が曖昧になりがちだよな。
ってか、VとCを分ける様な事するからUIが使い辛い物になるんだよな。

2018/05/12(土)12:04:38.53(F4kLnVK3p.net)


262デフォルトの名無しさん [sage]

AAS

NG

>>261
せやな
MVVMとかあるしな

2018/05/12(土)12:06:20.36(vhGL8v7ea.net)


263デフォルトの名無しさん [sage]

AAS

NG

そそ、MVCやMVPってのは、オンラインサービスみたいにデータ管理と画面操作が隔離してる様なコンピュータサービスでなら適してるけど、スマホとかパソコンの中で完結した操作性重視のアプリの設計には適して無いんだよな。

2018/05/12(土)12:12:09.32(F4kLnVK3p.net)


264デフォルトの名無しさん [sage]

AAS

NG

厳密に言えば readonly と immutable は別
interface で表現出来るのは readonly

2018/05/12(土)12:25:35.08(CthSiE230.net)


265デフォルトの名無しさん [sage]

AAS

NG

残念・・・

bool resultOfGetTimeLimit = int.TryParse(this.timeLimit.Text, out constant.timeLimit);

みたいに定数をフォームから取得できればありがたいんだけどなぁ。
そういう需要ってあんまりないんだろうか。

2018/05/12(土)12:57:15.57(RvuVG0qm0.net)


266デフォルトの名無しさん [sage]

AAS

NG

>>265
何いってるのかわかりません

2018/05/12(土)14:45:46.09(UZR1Ryt2a.net)

名前

メール

本文