Нет, это было бы хорошо. Сервер будет хранить весь экземпляр объекта в памяти как часть области приложения, которая будет включать все его свойства.
В качестве вопроса стиля я бы предложил сделать ваш запрос частным свойством (в области действия variables
в CFC), а не общедоступным (в области действия this
CFC). Если свойство объекта является общедоступным, это означает, что, как дизайнер черного ящика, вы согласны с тем, что неизвестный разработчик перезаписывает значение. Если вы храните эти таблицы поиска в базе данных, я предполагаю, что вы хотите, чтобы эти данные были доступны только для чтения. Учтите следующее:
<cfcomponent hint="Proxy for database lookup tables" output="false">
<cfproperty name="variables.lookupTable1" type="query" hint="[Private] lookupTable1 query object." />
<cfproperty name="variables.lookupTable2" type="query" hint="[Private] lookupTable2 query object." />
<!--- Implicit initialization --->
<cfscript>
variables.lookupTable1 = QueryNew('');
variables.lookupTable2 = QueryNew('');
</cfscript>
<!--- Active initialization --->
<cffunction name="init" returntype="void" access="public" hint="Initializes the query objects with data." output="false">
<cfargument name="dsn" type="string" required="true" hint="The datasource to use." />
<cfquery name="variables.lookupTable1" datasource="#arguments.dsn#">
SELECT * FROM [TblFoo]
</cfquery>
<cfquery name="variables.lookupTable2" datasource="#arguments.dsn#">
SELECT * FROM [TblBar]
</cfquery>
</cffunction>
<!--- Data Fetching Methods --->
<cffunction name="getFoo" returntype="query" access="public" hint="Returns the contents of TblFoo." output="false">
<cfreturn variables.lookupTable1 />
</cffunction>
<cffunction name="getBar" returntype="query" access="public" hint="Returns the contents of TblFoo." output="false">
<cfreturn variables.lookupTable2 />
</cffunction>
</cfcomponent>