coldfusion - 我应该在 CFC 中使用 CFINCLUDE 还是 CFSAVECONTENT

标签 coldfusion cfc

似乎标准的 MVC 方法(因为它与 ColdFusion 相关)是使 View 文件为 .cfm 并在最终处理 View 的 cfc 内部执行 CFINCLUDE。

这是否打破了 cfc 的面向对象?

这是否会导致 CFML 编译器每次都必须编译 View ?

是否有充分的理由不使用 GetContent 方法使 View 文件本身成为 cfc?

最佳答案

Does this break the Object Orientation of cfc's?



实现 cfcs 的这种模糊的“面向对象”是一种主观的。强制自己“一切都必须是对象”将迫使您使用 CF 做一些事情,这会产生额外的开销。我几乎不需要妥协就可以确保应用程序快速高效。不要担心实现一些无法定义的“面向对象”目标。制定一个更明确的目标,比如实现 cfc 的重用,或者改变的封装。尝试将 View 变成对象并不一定能帮助您实现这些目标,因为每个 View 都是不同的并且可能无法重用。

Does this cause the CFML compiler to have to compile the view everytime?



Cfms 也被编译和缓存。我有几个由选项卡组成的大型表单,其中每个选项卡都是一个单独的 cfm 文件。在第一次加载时,它们需要几秒钟的时间来编译和显示。在后续加载时,会立即生成并显示选项卡式 View 。 cfcs 也会发生同样的情况。

Is there a strong reason to NOT make the view files themselves cfc's with a GetContent method?



不久前,我尝试实现自己的框架只是为了学习经验,最后我采用了 cfinclude 方法。根据我的内存,我发现使用 cfinclude 可以更好地封装事物并避免创建对象的繁琐、传递 View 所需的参数、担心对象在正确的范围内,并避免创建 View 对象的额外开销。

不过,最后,我想这是您必须尝试自己找出最适合您的情况的方法之一。

关于coldfusion - 我应该在 CFC 中使用 CFINCLUDE 还是 CFSAVECONTENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1887661/

相关文章:

json - Coldfusion - 接收发布的 JSON 数据并解析它

coldfusion - 使用 CFMAIL 标签发送带有图像的电子邮件

javascript - 如何从 CFC 结果填充 Jquery 数组和 DOM 对象

php - 切换到 ColdFusion?

Coldfusion 2016 运行一些代码 3 次

coldfusion - 如何在 ColdFusion 中禁用 "Component Browser"?

coldfusion - 如何在不重置服务器实例的情况下重置 application.cfc?

coldfusion - 是否有更快的方法使用 cacheGetSession 对象清除自定义缓存?

php - 将 PHP foreach 循环转换为 ColdFusion