タイトル : Re: 全フォームが使用するインスタンス(変数)の宣言方法 投稿日 : 2009/11/28(Sat) 09:30 投稿者 : 魔界の仮面弁士
> 全フォームが使用するインスタンスの宣言方法 ・モジュールを利用する。(MSIL の .netmodule の事ではなく、VB の Moduleステートメントの方) ・Class の Shared メンバーを利用する。 ・シングルトン(Singleton)なクラスとして実装する。 ・My.Settings を利用する。 ・外部(ファイル/レジストリ/データベース/インターネット等)に保持する。 ・My を Partial クラスで拡張して、接続情報等をそこで管理させる。 などなど、幾つかのパターンがあるかと思います。 > ・ Form1 の Private 変数として宣言し、 > Form2 や Form3 へはプロパティを定義しておき > それを使用して受け渡しを行う。 > ・ Module に Public 変数として宣言し、 > それを使用する。 > 上記方法はあまり良くないように思えてしまうのですが、 > どうなのでしょうか? そういう実装もアリだと思います。あるいは、 ・Form1 ではなく、Sub Main メソッド内にて管理する。 ・プロパティとして渡すのではなく、コンストラクタ引数にて渡す。 ・イベント等を通じて渡す。 などといった実装パターンもあるでしょうし、それらの組み合わせもあるかと。 それぞれの優位性は、 ・受け渡す情報が多すぎて、処理が煩雑化してはいないか? ・接続情報を、Form2/Form3 で書き換えたり、接続/切断状態を変更する事があるか? ・マルチスレッドで同時に利用される事があるか? ・今後の機能改修により、複数DBへの接続を管理する必要が生じる事はあるか? などなど、個々のアプリケーション定義などに応じて異なりますので、 自アプリにとって使いやすと思われる方法を選択すればよいかと思います。 |