クラスがあります: DatabaseService.as このクラスは、ローカルの sqlite 接続を作成し、存在しない場合はテーブルを作成します。接続リンクは、他のいくつかのクラスで使用されます。一部のクラスは起動時に呼び出され、他のクラスはユーザーの操作時に呼び出されます。「DatabaseService」クラスは、データベース接続が開かれたときにイベントを送出します。他のクラスは「DatabaseService」クラスを初期化し、「DatabaseReadyEvent」を待ちます。これはうまく機能しますが、同じクラスから関数/メソッドを数回呼び出す必要がある場合はどうすればよいですか?
例:
mxml コンポーネントに「PrefService」クラスのインスタンスを作成します。「PrefService」は、そのコンストラクターで新しい「DatabaseService」クラスを作成します。次に、「DatabaseReadyEvent」を待機し、SQL クエリを実行します (これは正常に機能します)。しかし、「PrefService」クラスで「addDir」メソッド(およびその他のいくつか)を呼び出す必要があり、sqlConnection プロパティがまだ設定されていないため、エラーが発生します。どうすればこれに対処できますか?私はOOPが初めてなので、おそらく非常に単純なものが欠けています...
私が試したこと/私のアイデア:
「PrefService」クラスに sqlConnection が存在するかどうかを確認できますが、これはあまり実践的ではなく、何らかの遅延メカニズムが必要になると思います。
また、メソッドごとに「DatabaseService」クラスの新しいインスタンスを作成し、新しいイベント リスナーを追加することもできますが、イベントは言うまでもなく、メソッド呼び出しごとに 2 つの関数が必要になるため、これは非常に面倒です。
このシナリオで最適なオプションは何ですか?