タイトル | : Re^3: Windowsアプリケーションとクラスライブラリ間の値渡し |
記事No | : 4224 |
投稿日 | : 2006/09/07(Thu) 20:44 |
投稿者 | : 魔界の仮面弁士 |
> VB.netだと定数やグローバル変数をクラスライブラリに定義して 定数であれ何であれ、どこに何を置くかは、機能単位に決める事になると思います。 (内容によっては、変数というよりも .settings ファイルにて管理される物などもあるでしょう)
> 他のクラスライブラリやWindowsアプリケーションプロジェクトから > 参照するやり方が一般的なのでしょうか? どうするべきかはケースバイケースだと思いますが、大雑把に言えば、 コードの管理自体には、以下の 3 層があるかと思います。
☆「それぞれの機能(メソッドや変数など)を、どのような名前空間/クラスに分けていくか」 機能的に関連する変数や定数なら、それぞれ適切なクラスを作って管理した方が楽だと思います。 たとえばメッセージボックス関連の定数が System.Data.Odbc 名前空間の下に配置されていたり、 VB 専用の定数が、Microsoft.CSharp 名前空間の下に配置されていたりしたら困りますよね。
☆「*.vb のコードファイルとして、それらをどのように分けていくか」 VB6 では、1 つの *.cls ファイルにつき、1 つのクラスが定義されるだけでしたが、 VB.NET では、1 つの *.vb ファイルに、複数のクラスを定義することができますし、 VB2005 からは、1 つのクラスを、複数のファイルに分けて作成することさえもできます。
☆「それらのファイルを、プロジェクトとしてはどのように分割するか」 1つのアプリを、複数のプロジェクト(exe + dll)として作成することもできますし、 1つのアプリで、1つのプロジェクトだけという作り方もあるでしょう。 あるいは、1つのプロジェクトが複数のアプリから共有されるケースもあります。
----- で…今回の場合、話題に挙がっているのは『定数やグローバル変数など』に限った話なので、 とりあえずはクラスや名前空間などの分け方のみを気にすれば良いのでは無いでしょうか。
そしてプロジェクトをどのように分けるかは、規模やメンテナンスの容易さなどを検討しながら、 また別に考えれば良いかと思います。というよりも、どんなクラス等を作っていくのかが はっきりしない内は、プロジェクトの分け方までは慮れないでしょうしね。
ちなみにうちの開発だと、基本画面部(exe)、データ層(dll)、ビジネスロジック(dll)、および 共通部品(自作コントロールdllなど)などで、3個〜20個程度にプロジェクトを分けていますが、 小規模開発では単独の exe プロジェクトにしてしまう事も多いです。
|