1 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 08:07:52.10 ID:tLxbFHYI] 前スレ C#, C♯, C#相談室 Part82 toro.2ch.net/test/read.cgi/tech/1386763696/ Visual Studio 2010 Express 他 www.visualstudio.com/downloads/
2 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 11:53:40.75 ID:X23Clxno] >>1 乙 > Visual Studio 2010 Express 他 そろそろ 2013 にしてもいいかと
3 名前:デフォルトの名無しさん [2014/04/20(日) 21:32:16.44 ID:ekNgbe08] 初学者はExpress for windows desktopが正解だっけ
4 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 22:12:26.60 ID:PF/kKHEc] >>1 乙
5 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 22:30:23.93 ID:NkZ8yLaE] 他って何があるの?
6 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 22:35:19.76 ID:pm6pQF/U] Express For Webの方が段違いに高機能だよ For Windows Desktopからテンプレートを抜いてExpress For Webで使うのがベスト
7 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 00:42:05.10 ID:eYdH8FCu] ライセンス大丈夫なのそれ
8 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 11:09:25.71 ID:RwXDTsmn] >>6 kwsk
9 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 12:28:30.66 ID:6+D188bl] 桁数が無制限の10進小数BigDecimalクラスを作って その型をメンバに持つユーザーコントロールを 作ったのですが、プロパティウィンドウで 灰色表示になっていて編集できません。 どのようにすれば、プロパティウィンドウで 通常のdecimalなどと同じように入力できるでしょうか。
10 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 12:43:28.85 ID:XBfi1btF] TypeConverter実装してStringとの相互変換を書く、だっけ
11 名前:デフォルトの名無しさん [2014/04/22(火) 15:32:26.26 ID:LLIZuTLq] Windows8.1 UPDATEがリリースされました。 使用メモリが少なくなって1GBメモリのマシンでも動作するようなことが言われています。 アップデート(8 →8.1 →8.1 UPDATE)しようと思いますが、 c#や、.netはきちんと動作してくれるんでしょうか。 試した人います?
12 名前:デフォルトの名無しさん [2014/04/22(火) 15:34:35.91 ID:hiWtVD31] 大丈夫に決まってるだろ・・・
13 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 15:56:53.67 ID:z8WHMXPV] 新らし物好きならば体を張って確かめるべき
14 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 17:58:51.02 ID:UE2PHjX0] >>11 OSの実装に依存するようなクソなコードじゃなければ動くに決まってるだろ。 というのが建前
15 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 18:04:40.83 ID:z8WHMXPV] DLLHELLへようこそ
16 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 21:18:01.26 ID:FcSpgIwh] 8系は昔のバージョンが入ってない
17 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 23:11:07.13 ID:WX6xzJqE] 旧バージョンも一応入れることも出来るけどね。 まぁ、4.5.1 も互換性あるらしいから一通り動かしてみて おかしな所を修正するだけでいいんじゃないかと。
18 名前:デフォルトの名無しさん [2014/04/23(水) 19:18:50.80 ID:uDUMTt2m] >>12-17 レスありがとうございました。 >>17 .net 2から、WINDOWS8の.net 4?に、ASP.NETアプリを移行して困ったことは、 接続文字列を格納したweb.confの要素を読み込むためのクラスが変わっていたことだったな。 Windows 8 も、Windows 8.1 UPDATEも、.net周辺は互換性があるとして、 アップデートやろうかな。でも、テスト環境を用意して、様子を見よう。
19 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 21:09:51.51 ID:8RvEXtF8] C#は初めてでjavaはそれなりに分かる程度なんですが、 インターフェースを実装した匿名型みたいなのってどう作るのが一般的ですか? 具体的にはSystem.Collections.Generic.IEnumerable<E>を実装したクラスを作りたいのですが、 GetEnumratorはどう実装するのが一般的なのかで戸惑っています。 javaでやった時はreturn new IEnumerator<E>(){...};みたいなのを書いていたのですが、 C#では全然違うやり方するんだろうなと思いつつもググってもみつかりませんでした。 宜しくお願い致します。
20 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 21:12:43.10 ID:9b5aah45] もうIEnumerable<T>は自前で実装せずyieldで書くわ インターフェイス一般なら普通にclass内部にネストしたprivate classで書けば良いんじゃね
21 名前:デフォルトの名無しさん [2014/04/23(水) 21:18:29.46 ID:oHxA5I3Z] インターフェースじゃなくて出来るだけdelegateとラムダ式を使うことやね
22 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 21:28:40.77 ID:Jwmg0nMc] イベントやラムダがあるからインターフェイスをネストクラスで実装するのは あんまり必要ないんだよ というかJavaが異常 ちなみにJavaみたいにネストクラスが暗黙的に外のオブジェクトの参照を持つってのも C#には無い(C#のネストクラスは全部Javaのstatic class相当) 要らないからね
23 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 21:42:39.32 ID:FOWeiF78] >Javaが異常 18年かかって反省した結果がSAM(Single abstract method)
24 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 21:52:08.48 ID:Jwmg0nMc] 反省して7年間悩んだ結果が 外のローカル変数を変更できず検査例外と相容れない代物
25 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 22:27:47.84 ID:B15hE1J5] いい加減検査例外が欠陥品だと認めろ
26 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 22:34:21.45 ID:Jwmg0nMc] >>25 公式にそう認めたよ とうとうjava.io.UncheckedIOExceptionが導入された
27 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 22:37:37.71 ID:FOWeiF78] C#の真似して失敗した劣化版enum C#の真似して失敗したクロージャもどきのラムダ C#の真似して失敗した劣化版タイプジェネリクス C#の真似したboxing C#の真似した世代別ガベコレ C#の真似した劣化版デリゲート「SAM」 失敗を認めた検査例外 もうJAVAのライフはゼロ
28 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 22:45:31.11 ID:PHSt4KVS] C#も最初はJava以下の代物だったのにこんなに立派になって・・・ ここ数年、Javaがパッとしないってのもあるんだけどさ。
29 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 22:51:46.29 ID:qZjbiDWM] >>28 こんな記事もあったぐらいでそれはない。 www.atmarkit.co.jp/fdotnet/special/java2cs/java2cs_01.html この記事のコメントで暴れてたJava信者の人今はどうしてるかねw
30 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 23:52:36.57 ID:8RvEXtF8] いや、javaがダメだってのはそれでいいんだけど、 実際delegateとか書くにはどうしたらいいの? yieldで作ったIEnumerableを再帰したら重すぎたので 用途限定の無限リスト実装クラスを書きたいだけなんだよね。
31 名前:デフォルトの名無しさん [2014/04/23(水) 23:58:41.49 ID:oHxA5I3Z] yieldで作ったIEnumerableを再帰する ってどんなん?
32 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 00:01:23.94 ID:eSsn4FqQ] イテレータ―のベストプラクティスはこんな感じ class Hoge: IEnumerable<T> { public struct Enumerator :IEnumerator<T>{} public Enumerator GetEnumerator(){ return new Enumerator();} IEnumerator<T> IEnumerable<T>.GetEnumerator(){return GetEnumerator();} } IEnumeratorの中身が分からんなら諦めて
33 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 00:01:42.26 ID:eeIDhPaJ] 関数型っぽくいくなら static IEnumerable<object> Infinite() { while (true) yield return default(null); } var inflist = Infinite().Select(_ => 好きな値());
34 名前:33 mailto:sage [2014/04/24(木) 00:03:22.24 ID:eeIDhPaJ] default(null)はnullの間違い
35 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 00:14:49.41 ID:BDmsfKX9] >>31 IEnumerable<T> sample(IEnumerable<T> tailBase) { var e = tailBase; while(true) { var r = e.ElementAt(0); e = from v in e where Filter(v) select v; yield return r; } } かなり省いたけど大体こんな感じの。
36 名前:デフォルトの名無しさん [2014/04/24(木) 00:18:00.24 ID:7gol0BjG] foreach(var item in e) { if(Filter(item)){ yield return item; } } じゃダメなの?
37 名前:デフォルトの名無しさん [2014/04/24(木) 00:19:44.03 ID:7gol0BjG] なんかわけわかんないことかいたな return e.Where(Filter); こうか
38 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 00:53:46.66 ID:eeIDhPaJ] >>35 SelectMany
39 名前:デフォルトの名無しさん [2014/04/24(木) 11:07:28.13 ID:RPJZFTzy] Windows Live Mail に足りない機能をC#で追加したいと思っています。 そんな組み込みは可能でしょうか? Windows Live Mail自体がコンパイルされて出来上がった アプリケーションである以上、そこにC#で新たにプログラムを作って組み込みする方法とか無いのでは? とも考えています。
40 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 12:39:46.74 ID:efYzmxgq] 1から作った方が早いわな
41 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 12:45:23.88 ID:mnsZs1hI] そういう奴は「プラグイン(アドイン)追加でxxできます!!」と謳ってるから まずそこを確認するところから
42 名前:デフォルトの名無しさん [2014/04/24(木) 15:46:36.51 ID:2R+2SMgf] >>41 プラグイン開発方法とか解説しているサイトの中でオススメはありますか?
43 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 17:53:40.24 ID:YxnFmXEY] だからそもそもWindows Live Mailがプラグインを、それも.net製のプラグインを使えるアプリケーションなの?って話
44 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 17:56:03.77 ID:tDJuXksa] Outlookのアドオン市場ってそれなりにあるんでは 個人的に1つ使ってる 外国製で30ドル位だった
45 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 18:01:30.58 ID:qWN4hsJ9] いろんな本に出てくるマネージヒープってなにもの?
46 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 18:06:32.37 ID:6IsMFN2k] .NETが管理してるメモリ領域のうち、参照型の実体を置いておく領域
47 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 18:07:22.79 ID:qgz+WFm0] Outlookの開発はVSにテンプレートがあるほどだしな
48 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 18:11:00.42 ID:qWN4hsJ9] >>46 じゃあ参照型の変数(ポインタ?といっていいのか?)はどこにあるの?
49 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 18:12:15.63 ID:6IsMFN2k] ローカル変数ならスタック
50 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 18:16:31.07 ID:qWN4hsJ9] >>49 ありがとう じゃクラスのフィールドに参照型が定義されてたら?
51 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 18:18:04.70 ID:6IsMFN2k] 参照型のフィールドは参照型の実体の一部
52 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 18:25:41.81 ID:qWN4hsJ9] >>51 thx なんとなくわかった気がする、ありがとー
53 名前:デフォルトの名無しさん [2014/04/24(木) 21:09:08.42 ID:eyNeUV4V] >>43 サンクス Windows Live Mailしか使った事がなぃんだけどOutLookと比べてどっちの方が使い勝手が良いですか? もしOutLookは10年位前に使った事はある程度です。
54 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 21:14:01.68 ID:mu7aLjm1] そりゃもうスレ違いだ ソフトウェア板かどっかに行ってこい
55 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 09:26:40.97 ID:IZttWr8m] 使い勝手の良さなんて個人の趣味で変わるしな あえて言えばテンプレ改良してマイメーラーが最強w
56 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 11:24:17.40 ID:ooCgI5xK] Exchangeで使うなら、言うまでもなくOutlook Outlook.comで使う場合もOutlookの方がいいと思う PopやImapでしか接続しないならWindows liveメールの方が手軽でいいかな
57 名前:デフォルトの名無しさん [2014/04/30(水) 18:00:42.73 ID:DNQbhBwD] www.infoq.com/jp/news/2014/04/roslyn_oss
58 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 18:34:06.89 ID:EzgfB9pv] データーの永続化で一番高速な方法ってなんですか?
59 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 18:36:18.93 ID:4l7lcAfF] 君が何を永続化しようとしてるのかによって取れる方法が違うんだから 先にそれを言った方が二度手間にならなくていいぞと忠告してやる
60 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 18:43:10.80 ID:EzgfB9pv] 深さが二段階しかないツリーデータです
61 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 18:54:33.47 ID:I6H+jm99] neueとかいうブログの人がシリアライザのパフォーマンス比較の記事を書いてたように思ったが、 まあ気になるなら自分で確認するのが一番だよね。
62 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 12:01:57.25 ID:HBcfi/y3] OWINてどうなの? IIS捨てれるの?
63 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 23:34:23.75 ID:oJLHNYzb] ASP.NETのように、ビハインドでビジネス層のクラスを組み立てながら、 WEBアプリの構築は、JAVA + JSP + サーブレット でもできます。 しかし、ASP.NETのサーバーコントロールのように高度に抽象化されたデザイン用クラスは、 JAVAを使った開発でも最近はあるんでしょうか。
64 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 23:38:27.42 ID:oJLHNYzb] あるいは、ASP.NETのオープンソース版、.NETフレームワークのオープンソース版って、実用的なんでしょうか。 最近では、c#のコンパイラがオープンソース化されたようですけど。 お金のかからない環境を構築したいとおもって。
65 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 23:52:34.97 ID:Cu6JPOBx] >>63 Struts 1のtaglibがそのものなのだが
66 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 23:56:18.73 ID:oJLHNYzb] >>65 本屋でパラパラページをめくりながら探していると、 Structってもはや古い技術だというような記述があったので、意外でした。 taglibは本屋では見つからなかったです。 ちょっと調べてきます。 ありがとうございます!
67 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 02:14:44.21 ID:eMoGcgcA] どっちもStaticなグローバル変数で持ってますよね、SingletonとStaticの違いってなんですか?って質問されて上手く答えられなかった・・・
68 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 02:40:26.63 ID:dx9xU03u] Singletonはクラスのアクセスメソッドで制限をかけることができる。 グローバル変数は誰がいつどのタイミングで読み書きするかわからない。
69 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 02:49:01.63 ID:mi+P20vl] シングルトンは遅延初期化させたい時かな 静的コンストラクタはあまり使いたくない
70 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 06:58:07.82 ID:IPFrsn/P] 静的プロパティだって遅延初期化できるっぺ C#的にシングルトンって意味あるのかな? プライベートコンストラクタ書きたいだけちゃうんか
71 名前:5 mailto:sage [2014/05/04(日) 07:13:45.27 ID:q7rdqljv] >>6
72 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 07:14:36.75 ID:q7rdqljv] >>65 調べてみたところ、strutsはオワコンでした
73 名前:72 mailto:sage [2014/05/04(日) 07:20:59.25 ID:q7rdqljv] >>71 は間違いです。すみません。 >>65 ASP.NETライクに、抽象化されたUIコンポーネントでwebプログラミングするには、 JAVA標準環境(Java EE 6)+ JFS 2.0 を使うと良いようでした。 お金のかからない世界へ行ってきます。さようなら〜
74 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 07:38:14.97 ID:rJLJvrVe] 破棄して作り直そうとする可能性がある時、静的だとメモリリークの危険が高い
75 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 09:07:48.46 ID:eMoGcgcA] どっちにしろSingletonは利用者側からすると依存関係がわかりにくくて密結合だから、Singletonで取得するインスタンスを利用して実装しないといけないとマジでイライラするんだよね とにかくテストがやりづらい
76 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 12:22:07.49 ID:UE0Fc6EI] グローバル変数的に使おうとするから糞コード量産することになる
77 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 21:50:12.84 ID:F1HNpjLt] ジェネリックではまっていますが、なにかいい解説書はないですか‥‥
78 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 09:40:10.76 ID:SGaFRyg3] >>77 Javaスレの奴か ジェネリックな比較はIComparableではなくIComparer<T>を使うべき それに伴ってstruct制約も不要になる C#のジェネリックは静的メソッドもクラスの型パラメータを引き継ぐから<S>要らん https://ideone.com/99dC5f
79 名前: ◆QZaw55cn4c mailto:sage [2014/05/05(月) 15:17:50.63 ID:CN0OEHd5] >>78 ありがとうございます.無事コンパイルができました. C#4.0 のオプション引数を使ってみようとしましたが, public static void insertNode(ref Node<T> root, T key, IComparer<T> cmp = Comparer<T>.Default) の最後のはコンパイル時定数ではない,とはねられてしまいました‥
80 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 15:29:26.22 ID:W0z8fvUt] 「??演算子」の使用例 public static void insertNode(ref Node<T> root, T key, IComparer<T> cmp = null) { cmp = cmp ?? Comparer<T>.Default 以下略
81 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 15:38:16.15 ID:4eyingVq] >cmp = cmp ?? Comparer<T>.Default とても頭の悪そうなコードですね 意味を考えたら不適切
82 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 15:40:22.59 ID:fN/Sve3O] >>70 wpfのVMを書くとき、一応4.5はスタティッククラス対応しているがシングルトン使ったほうが何かと便利 4.5以前に作られたライブラリは当然のことながらスタティッククラスのVMに対応していない
83 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 15:47:24.88 ID:TyYoKThg] 諦めてオーバーロードをもう一つ書くのがいいんだろうね でも面倒
84 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 16:06:11.24 ID:fN/Sve3O] あと、スタティッククラスは継承使えないから何かと不便
85 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 18:39:14.80 ID:HLVvNfN0] >>79 それコンパイル時定数なんで、仕様変更考えるならpublicでは使わない方がいいかもね
86 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 19:04:06.57 ID:AGglXxAj] 「コンパイル時定数」に単語レベルで反応して「仕様変更」を連想した>>85
87 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 21:43:48.00 ID:OT0COKe0] だらだらとオーバーロードかくよりオプション引数を使ったほうがすっきりするよな >>81 べつに問題あるとは思えないが
88 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 21:52:22.83 ID:fgsSBVMQ] 引数の変更に反応してるのかな? こういう趣味の問題を所詮趣味の問題だと認識せずに吹っかける奴のが頭悪く見えるけど
89 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 22:44:12.82 ID:AY4EFaK1] オプション変数はなんかのコード分析でお行儀が悪いって言われるらしい
90 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 22:58:33.82 ID:SGaFRyg3] オプション引数はアセンブリパブリックなメソッドに使うとFxCopとVSのコード分析で警告出るよ 定数が呼び出し元にハードコードされてしまうから変更時に呼び出し元を再コンパイルしなきゃいけなくなる
91 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 00:09:44.86 ID:e2Zd8aJi] シングルトンのメリットってどれも弱いよね、オブジェクト指向の利点である再利用できるってメリットを完全に破壊してる オーバーロードよりオプションが良いか悪いかは問題点がわからないから何とも言えないな 少なくとも全ての基準であるMSのソースではオーバーロードが圧倒的多数だからオーバーロード使う
92 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 00:34:48.26 ID:tmSUYm6J] >>91 シングルトンはインターフェイス経由で使うんだよ ちょうどComparer<T>.Defaultみたいにな そうすれば差し替えができて「利用する側の」再利用性が上がる 利用する側のクラスはシングルトンの具象クラスに依存しちゃダメ
93 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 00:36:31.71 ID:ug+nXQnt] オーバーロードだと再コンパイル要らんのか?
94 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 00:41:20.84 ID:bRku9hxr] >>91 >再利用できるってメリットを完全に破壊 んなこたーない。おまえアホか。 >>92 まるでインターフェースにしなきゃ差し替えが出来ないような物言いだな。
95 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 00:47:18.77 ID:48oaCWRM] >>93 3つ前のレスくらい読んだらどうだ?
96 名前:デフォルトの名無しさん [2014/05/06(火) 00:58:35.11 ID:IXzBb183] >>67 からずっと思ってたが、デザパタの用語はだいたいどれもそうだけど、 シングルトンって言葉が指すものの解釈は一つじゃなくていろんなバリエーションがあるから、 どういう意味でシングルトンって言ってるのかはっきりさせないと、傍から見て ずいぶん頭の悪い奴同士の会話に見えちゃうよ。
97 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 01:50:22.83 ID:jzwUbQuH] そもそもデザインパターンって適材適所で使うアルアルをまとめただけのもんだしな。 それを使わないとダメとかそう言うもんでもないし。 オブジェクト指向がうんたら言う奴ってそこを忘れてルールにはまって自爆してる奴が多い印象。 まぁだから本とかにも何がなんでも型にはめようとするなと冒頭に書かれてるんだろうけど。
98 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 01:59:59.48 ID:tmSUYm6J] デザパタなんて大半はオブジェクト指向の機能を利用したハックだろ オブジェクト指向というより関数型みたいなことをやろうとしてるものが多い
99 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 02:08:17.42 ID:BqjYYF2K] シングルトンはスタティッククラスで代用できるから、今更面倒なシングルトンを使う必要はないって意見が多かったようだが 一々staticと、すべてのフィールドやメソッドに書くほうが面倒だと思うんだが・・・ それと再利用というならベースクラスを使い回しできるシングルトンのほうが優れているだろ スタティッククラスの利点は、知らない人に説明するのがシングルトンより楽だぐらいしか思い浮かばん
100 名前:デフォルトの名無しさん [2014/05/06(火) 03:55:27.39 ID:pzJ6+ovS] staticクラスはどういうクラスなのかがわかりやすいから 「フレームワークがstaticクラスを提供する」みたいなのが主な使用場面じゃね?
101 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 04:32:14.78 ID:8bjutxl2] staticってそのクラス、メソッドだけで自己完結しているって意味合いがあるから 信頼できる関数として利用できる Singletonをstaticで代用なんてのは本来の使い方じゃない