モジュールについて への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
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
> いまだに“モジュール”というものをどういう風に使うのかが分かりません。
使い方/使い分けの説明は、他の方にお任せするとして……
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扱いになります。
ただし、拡張メソッドの実装はモジュールでしか行えないので、このような目的で使用する場合もあります。
新しい言語やツール・開発環境がわかってくると、いろいろなものや機能が気になってくることと思いますが、
特に要求がない限りモジュールについてはスルーしていいかと思います。
プロジェクトで共通で使用した変数や関数を、クラス名等省略して使用したい場合に使用しますが、
「クラス名を省略して使用したい」ということは一見便利なようで、管理が煩雑になる側面があるので
私としては積極的に利用をお奨めしないものです。
ケースバイケースで判断すれば使っていいのではないかと思っています。
実際の使用は普通のクラスと一緒ですが、すべての変数やメソッドがShared扱いになります。
ただし、拡張メソッドの実装はモジュールでしか行えないので、このような目的で使用する場合もあります。
新しい言語やツール・開発環境がわかってくると、いろいろなものや機能が気になってくることと思いますが、
特に要求がない限りモジュールについてはスルーしていいかと思います。
投稿者 もるが  (社会人)
投稿日時
2009/3/6 20:45:07
モジュールは、前のバージョンとの互換性のためにあると解釈しています。
windowsアプリではすべてクラスへと移行していると思います。
windowsアプリではすべてクラスへと移行していると思います。
投稿者 Dora  (中学生)
投稿日時
2009/3/6 18:28:30
こんにちわ、皆さん
僕はVBを初めて数カ月になるのですが、いまだに“モジュール”というものをどういう風に使うのかが分かりません。なので、教えて下さい... お願いします。
僕はVBを初めて数カ月になるのですが、いまだに“モジュール”というものをどういう風に使うのかが分かりません。なので、教えて下さい... お願いします。
投稿者 (削除されました)  ()
投稿日時
2009/3/6 18:27:37
(削除されました)
るきおさんの言う通り、ここはスルーさせていただくことにします。