モジュールについて への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 Dora  (中学生) 投稿日時 2009/3/18 23:20:01
もるがさん、るきおさん、魔界の仮面弁士さん、返答ありがとうございました。

るきおさんの言う通り、ここはスルーさせていただくことにします。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/3/7 21:38:28
# 回答に非ず。

> いまだに“モジュール”というものをどういう風に使うのかが分かりません。

使い方/使い分けの説明は、他の方にお任せするとして……

VB.NET における「モジュール」という用語には、実は意味の異なる二種類のものが存在しています。


一つは、主に拡張子 ".netmodule" で示されるファイルです。単に『モジュール』と呼ばれる以外には
『.netmodule』『IL モジュール』『アセンブリに追加できるモジュール』などとも呼ばれます。

これは、"マルチ ファイル アセンブリ"という高度な使い方をする場合に使われる物ですが、
Visual Studio を使っている場合は使うことができませんし、あえて使う必要も無いでしょう。
http://msdn.microsoft.com/ja-jp/library/226t7yxe.aspx
http://msdn.microsoft.com/ja-jp/library/aa720306.aspx



もう一つは「Module~End Module」で囲まれたブロックで示されるコードの事で、
一般的にはこちらの事を指します。VB6 時代の名残から、『標準モジュール(Standard Modules)』と
呼ばれる事もありますが、単に『モジュール』と呼ばれる事も多いです。
http://msdn.microsoft.com/ja-jp/library/cc437173.aspx
http://msdn.microsoft.com/ja-jp/library/aa711943.aspx

もるがさんやるきおさんが書かれているのもこちらの方ですね。Dora さんの質問もこれの事でしょう。



あるいは、VB.NET としての用語ではなく、コンピュータ用語一般としての意味であればこちら。
http://ja.wikipedia.org/wiki/%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB
投稿者 るきお  (社会人) 投稿日時 2009/3/6 21:26:45
モジュールは広い視点で見ればクラスの一種です。
プロジェクトで共通で使用した変数や関数を、クラス名等省略して使用したい場合に使用しますが、
「クラス名を省略して使用したい」ということは一見便利なようで、管理が煩雑になる側面があるので
私としては積極的に利用をお奨めしないものです。
ケースバイケースで判断すれば使っていいのではないかと思っています。

実際の使用は普通のクラスと一緒ですが、すべての変数やメソッドがShared扱いになります。

ただし、拡張メソッドの実装はモジュールでしか行えないので、このような目的で使用する場合もあります。

新しい言語やツール・開発環境がわかってくると、いろいろなものや機能が気になってくることと思いますが、
特に要求がない限りモジュールについてはスルーしていいかと思います。
投稿者 もるが  (社会人) 投稿日時 2009/3/6 20:45:07
モジュールは、前のバージョンとの互換性のためにあると解釈しています。
windowsアプリではすべてクラスへと移行していると思います。
投稿者 Dora  (中学生) 投稿日時 2009/3/6 18:28:30
こんにちわ、皆さん

僕はVBを初めて数カ月になるのですが、いまだに“モジュール”というものをどういう風に使うのかが分かりません。なので、教えて下さい... お願いします。
投稿者 (削除されました)  () 投稿日時 2009/3/6 18:27:37
(削除されました)