![]() |
1
2
亨利, 我将编写一个“dimanager”cfc来管理自己的依赖项,并使用onApplicationStart()将“dimanager”保留在应用程序范围内,以便在应用程序的生命周期内使用。 每个服务将负责创建您在问题中建议的瞬变IT服务。 我会选择在我的“dimanager”中使用coldfusion 9s缓存方法来管理单例的持久性,因为随着coldfusion的发展,我期望对机器存储机制提供更大的支持,并且,您可以为每个单例定义配置文件,以便一些在一段时间后过期,而另一些则在应用程序的生命周期内使用。这将提供比使用应用程序范围更大的控制。但是,根据具体的挑战,配置文件可以将对象放在集群范围、服务器范围等中。 我几乎 为了一个我即将完成的项目走了这条路,但是,决定不重新发明轮子,只使用Coldbox,因为它具有出色的缓存能力。我还应该补充一点,Coldbox团队已经基本完成了将框架分解为单独单元的目标。最后一个单独的部分是Wirebox,它应该很快发布——所以,如果您在使用框架方面有限制,不喜欢MVC或AOP,您可以用自己的方式编写应用程序,并且仍然使用Wirebox或其他已经存在的伟大IOC框架(如您一直使用的框架)。 希望有帮助。 我也期待着其他的答案。 |
![]() |
2
1
在某些情况下,DI框架隐藏了一些代码味道,比如自动传递一堆参数。通过手工做事情,或者至少知道这样做需要什么,你将使你的设计更干净。 这可能有点像学习C,即使你不经常使用它,了解它也是件好事。 有一篇关于 do-it-yourself DI 这里的重点是Java,但可能值得你花时间。 |
![]() |
3
0
这些都是很好的建议。最近,在建立一系列支持服务时,我的主要目标是为缓存应用程序代码和API内部工作分离做好准备。具体来说,这意味着始终使用工厂来生成瞬态,并且始终拥有接收来自应用程序的请求的单例服务。 不过,我觉得没有AOP我就活不下去了。我已经能够用分层拦截器解决很多令人惊讶的问题,所以我真的应该在我的办公桌上建造一个小神龛来崇拜AOP。 所以,总的来说,在构建自己的解决方案时,尝试实现单例服务和临时工厂。AOP是一个巨大的奖金,但我不能告诉你如何实现它。我是一个冷泉用户,感谢它所做的一切! |
![]() |
Max Boy · ColdFusion查询太慢 7 年前 |
![]() |
Patrick · 初始化变量的作用域是什么? 7 年前 |
![]() |
espresso_coffee · 单页应用程序框架和登录页? 7 年前 |
![]() |
David Brierton · 打印按钮打印多页 7 年前 |
![]() |
user1592129 · 组件的自定义配置文件 7 年前 |