你好,我是Ruby的新手,我正在Rails中启动一个新项目。我有PHP背景,并习惯于使用更大的框架(如Symfony2 )。
我的问题是Rails在存储所有自定义对象并管理依赖项时是否使用任何类型的服务容器?在我看过的教程中,没有提到过这样的原则。
在ROR中,这被认为是一种糟糕的做法吗?因为ruby的OOP有多么不同吗?
当我需要一个新的样本时,我需要每个对象并制作一个新的样本吗?
Ruby不需要依赖注入吗?正在呼唤新的
.new
在每件物品上都需要一个好的红宝石练习?
发布于 2014-08-06 08:46:52
经过很长一段时间的思考和dax -s的伟大建议,我记得bob叔叔曾经说过,一个好的应用程序是以这样一种方式设计的:我们可以删除使应用程序逻辑放置到另一个框架中的代码,并且它应该能够完美地工作。因此,我决定,保存我的应用程序逻辑的所有代码都将位于Rails lib文件夹中,为此我将使用服务容器。
经过长时间的搜索,我发现Jim创建了一个服务容器,而且由于他是Ruby中的一个普通大牌,它给了我更多的信心来使用这种方法,这里是git-集线器库https://github.com/jimweirich/dim。
它有一些关于如何使用它的非常简单和好的例子。
我决定在lib文件夹中为应用程序中的每个模块创建一个文件夹,在其中创建一个配置文件夹,并添加一个services.rb文件,在其中注册每个新服务。
谢谢你给我的所有建议!
发布于 2014-07-24 20:28:44
我认为不把Ruby (语言)和Rails (框架)混为一谈很重要--我并不是说你要这么做,请容忍我。
Ruby在代码布局和常见问题的解决方案方面有一些“最佳实践”,但您可以随意使用您选择的任何设计模式或架构风格。你可以说这不是固执己见。
然而,Rails对于它的使用方式有着非常强烈的看法。这里还有关于常见问题及其解决方案、代码格式、文件放置等的最佳实践,但是与Ruby不同的是,如果您选择不是Rails“规范”的设计模式或体系结构样式,您将面临一场艰难的战斗。
在很多情况下,Rails的易抛脚手架是很棒的,但在其他情况下就不是那么好了(例如,需要扩展的项目)。即使你不得不反对Rails的结构,它仍然有它的好处--资产管道就是其中之一。如果您想要添加依赖项注入,最好是使用域驱动的方法,并将数据从“智能”后端发送到“哑”Rails前端。
发布于 2014-07-24 19:20:34
如果您询问的是依赖注入,一般认为这在Ruby中是不必要的。您可以查看this question以获得更多信息。
https://stackoverflow.com/questions/24942052
复制相似问题