C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: Shared変数・メソッドについて


(過去ログ 83 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■49016 / inTopicNo.1)  Shared変数・メソッドについて
  
□投稿者/ ねこ (1回)-(2010/04/20(Tue) 14:33:29)

分類:[VB.NET/VB2005 以降] 

初めて投稿させて頂きます。

Visual Studio 2005で開発を行っており、言語は、VB.Netです。
Sharedの使用方法について疑問に思ったことがあるので、質問させて頂きます。

Sharedを使用すると、以下の様な特徴がある事は理解しています。
 ・ 共有変数・メソッドとなる。
 ・ インスタンス化しなくても呼び出せる。
 ・ メモリ上に格納される。
 ・ 使用しているプログラムが終了しない限りメモリに格納され続けている。
 ・ インスタンス化を行わない分処理速度が速くなる。

メモリに格納すると言う事は、その分、メモリの使用量が増えると思うのですが、
メモリの使用量の増加については、そこまで気にする必要が無いのでしょうか??
動作環境やSharedを使用している変数・メソッドの量によって、大きく変わってくる話だとは思いますが、
これまで、メモリの使用率が増えすぎて困ったなど、事例等ございましたらご教示頂ければ幸いです。

使用目的としては、ビジネスクラス(共通クラス)に関しては、Shared変数・メソッドを使用しようと考えています。
プロジェクトの規模としては、60画面程度のプロジェクトです。
引用返信 編集キー/
■49017 / inTopicNo.2)  Re[1]: Shared変数・メソッドについて
□投稿者/ επιστημη (2487回)-(2010/04/20(Tue) 14:35:56)
επιστημη さんの Web サイト
> 使用目的としては、ビジネスクラス(共通クラス)に関しては、Shared変数・メソッドを使用しようと考えています。

グローバル変数は使うなとあれほど口酸っぱくして言ったのに...みたいな。

引用返信 編集キー/
■49023 / inTopicNo.3)  Re[1]: Shared変数・メソッドについて
□投稿者/ はつね (1254回)-(2010/04/20(Tue) 14:57:32)
No49016 (ねこ さん) に返信
> 使用目的としては、ビジネスクラス(共通クラス)に関しては、Shared変数・メソッドを使用しようと考えています。

Sharedなメソッドとかはいいと思いますがShared変数とかはやめた方がいいと思いますよ。
あとは↓のあたりのやりとりも参考になるかと
http://bbs.wankuma.com/index.cgi?mode=al2&namber=9696&KLOG=22

引用返信 編集キー/
■49024 / inTopicNo.4)  Re[1]: Shared変数・メソッドについて
□投稿者/ よねKEN (479回)-(2010/04/20(Tue) 15:17:25)
2010/04/20(Tue) 15:23:23 編集(投稿者)

> http://bbs.wankuma.com/index.cgi?mode=al2&namber=9696&KLOG=22

の議論と重複しますが・・・

Sharedなフィールド(変数)/プロパティを使うかどうかの判断は
「そのクラスでただ1つのものかどうか」で判断します。
インスタンスごとに異なる値になる(なる可能性がある)場合にはSharedにしません(できません)。

例えば、PersonクラスにFullNameプロパティがあったとして、これをSharedにするかどうかを考えてみましょう。
田中一郎さんや山本次郎さんやその他いろいろな人(インスタンス)を扱う場合、
人の名前(FullName)はPersonクラスでただ1つではなく、人(インスタンス)ごとに異なります。
こういうメンバーはSharedにはしません。

Sharedなメソッドは、インスタンスのメンバ(Sharedでないメンバ)に依存しないメソッドで、
インスタンスごとに処理内容を変える必要がないことが明らかな場合に適用します。


No49016 (ねこ さん) に返信
> 使用目的としては、ビジネスクラス(共通クラス)に関しては、Shared変数・メソッドを使用しようと考えています。

上記の説明に照らし合わせて本当にそれでよいのか検討してみてください。

引用返信 編集キー/
■49025 / inTopicNo.5)  Re[2]: Shared変数・メソッドについて
□投稿者/ ねこ (2回)-(2010/04/20(Tue) 15:41:20)
No49017 (επιστημη さん) に返信
> グローバル変数は使うなとあれほど口酸っぱくして言ったのに...みたいな。
すいません。グローバル変数を使用するならプロパティなどを使用するべきなんですね。
勉強になりました。 ありがとうございます。

No49023 (はつね さん) に返信
> Sharedなメソッドとかはいいと思いますがShared変数とかはやめた方がいいと思いますよ。
返信、ありがとうございます。そうですね。Shared変数は、やめた方が良さそうですね。
URLも大変参考になりました。 ありがとうございます。

No49024 (よねKEN さん) に返信
分かりやすいSharedの説明と事例を上げて頂きありがとうございます。
大分頭の中がすっきり出来ました。
引用返信 編集キー/
■49027 / inTopicNo.6)  Re[3]: Shared変数・メソッドについて
□投稿者/ ねこ (3回)-(2010/04/20(Tue) 16:31:25)
一先ず、整理がつきましたので、解決済みとさせて頂きます。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -