私はフードの下でcoldfusionでcfcがどのようにインスタンス化されるのか知りたいです!私はあなたがコンポーネントのインスタンスを作成することを知っているし、新しく作成されたインスタンスへの参照を取得し、それを使用してそのインスタンス内のパブリックメソッドを呼び出すことができます。ColdFusion CFCインスタンス作成のライフサイクルはどのくらいですか?
しかし、正確に何が起こっている私は番目のコードを書く
<cfscript>
person = createObject('component','human') // what happen here!!!!
person.speak();
</cfscript>
は、ここに私の文にいくつかの修正を作った!!!。私は、アプリケーションスコープに保存されているインスタンスを持っているので、私はこの質問をする理由があるとインスタンスは、非常に高い負荷の下で今
application.person.speak();
以下のように使用されています。私はメモリが人objのためのリリースではないことを発見し、いくつかの時点でそれは200 MBに達した..奇妙な! 。それは
request.person = duplicate(application.person);
が今これを行うには、別の直接的な方法はあり
request.person = createObject('component','human');
差は、最初のものはオブジェクトを作成し、共有スコープに保管されているベストプラクティスに言うようにそう、補正を行いましたリクエストが行われるたびにリクエストするディープコピー(ここではインスタンスは1回のみ作成されます)。 2番目は、要求が行われるたびにインスタンス作成を行います。 2番目の方法ではインスタンスが毎回作成されるため、それらの間にはパフォーマンスの違いがあります。私は、前者がそれほどうまくいかないインスタンスを作成する背後にあるアーキテクチャーが正確に何であるかを知りたいと思います。
ちょうど知っているキュリー!
Edits Danに感謝します。 –