0

複数のCFC(100個を超えるCFC)を含むアプリケーションがあります。アプリケーションの起動時にこれらのCFCを起動して、システム内の任意の場所でインスタンスを使用できるようにしたいと考えています。これらのCFCを一緒に初期化する最良の方法は何か分かりますか?すべてのCFCを動的に初期化するためのオプションはありますか?複数のCFCをまとめて管理する

+2

なぜですか?オブジェクトをインスタンス化するコストはごくわずかです。 –

+1

これらのCFCのいくつかが他のCFCに依存している場合は、依存関係注入を処理する方法を調べることをお勧めします。 DI/1は始めるのに適しています。 –

+1

これらのcfcの少なくとも1つがinitメソッドで引数を取る場合、これは悪い考えかもしれません。 –

答えて

1

あなたは静的なコンポーネント、つまりシングルトンについて話していると仮定します。

コンポーネントを一度初期化するには、でonApplicationStartイベントを使用し、永続的なAPPLICATIONスコープにコンポーネントを保存します。このイベント関数は、最初の要求で実行され(スレッドセーフ)その後、テンプレートのAPPLICATIONスコープに格納されているコンポーネントを参照します。

コンポーネントを動的に初期化することができます。

特定のディレクトリ内のすべての.cfcファイルのリストを取得して、上記のコードでループすることができます。

関連する問題