1

CFC コンポーネントを使用して ColdFusion でコードを書いていたとき、コンポーネントのオブジェクトを作成するさまざまな方法を使用することに少し混乱しました。オブジェクトを作成する方法としてどちらが優れているか教えていただければ幸いです。 CreateObject()EntityNew()&Newキーワード。私はいくつかのブログを読み、さまざまな答えを得ました.Entity NewはCreate Objectと比較して高速であると言う人もいました. 私はまた、構文上の違いがより優れていることを発見しましたEntityNew()。どなたか考えて頂ければ幸いです。ありがとう。

4

3 に答える 3

5

この質問が閉じられている間に書かれた元のバージョン: http://blog.adamcameron.me/2014/12/fucking-stackoverflow-and-new-vs.html

トランスクリプト: これは非常に漠然とした質問です。これを投稿したら、投票して閉じることにします。

createObject()誰かが new 、 、<cfobject>またはを使用して現実世界のパフォーマンスのペナルティを思いつくことができない限り<cfinvoke>、私はそれらに耳を傾けません。意味のある違いはありません。それらは、マイクロ (および時期尚早) の最適化の領域に住んでいます。

上記のすべてのオプションはentityNew()、ORM ベースのオブジェクトを作成することを特に意図した とは少し異なります。他のものはより一般的です。しかし、繰り返しになりますが、パフォーマンスに関しては、ここでは実際の考慮事項はありません。

回避できるときはタグを使用しません。そのため、割引<cfobject><cfinvoke>検討のためのIMO。

これはすべて意見ですが。

私が言ったように、entityNew()は ORM オブジェクトを作成するために特別に設計されているため、ORM ベースのオブジェクトとバニラ オブジェクトが混在する混合環境でそれを使用すると、何か言うことがあるかもしれません。

そしてcreateObject()新しい?私は現在createObject()、Java オブジェクトを予約し、CFML オブジェクトには new を使用しています。コードを明確にするため。

また、new は init() メソッドも呼び出すことに注意してください (または、コンポーネントの initmethod 属性が示唆するものは何でも呼び出す必要があります)。

于 2014-12-16T22:56:25.720 に答える