快速业务通道

跨越边界: Ruby on Rails的秘笈是什么? - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
此领域的项目,Rails 的设计者可以选择一些其他框架不能或者不应该采用的捷径。这种专门化往 往为简单性而失去灵活性。

新的支持数据库的应用程序建议打包方法优于映射方法。正如您在本系列的 第一篇文章 中看到的, Rails 工具采用数据模型中的约定。Rails 应用程序需要 Java 应用程序中创建的一小部分模型代码。如 果特别为 Rails 应用程序创建模式,此原则能工作得很好。如果试图把遗留的模式塞入 Rails 中,将变 得不太平滑。

基于 Web 的应用程序允许一组相似的优化。当您知道一个应用程序是基于 Web 的,您就能知道应用 程序的大体结构和可能需要的主要组件。因为 Rails 关注的是基于 Web 的应用程序,所以在 Rails 中 增强了以下功能:

模型-视图-控制器:Rails 的 MVC 框架(称为 Action Pack)为基于 Web 的访问进行了定制并且实 现了著名的被称为 Model 2(参见 参考资料)的设计策略。Rails 版本已经优化了控制器和视图之间的 集成(该集成能够使配置文件最小化)并且自动使控制器实例变量可供视图使用。

项目目录结构:所有 Rails 应用程序都具有相同的项目结构,其中的目录用于存储应用程序代码、数 据库配置、公共的静态文件,以及用于管理 Web 服务器和进行基于 Web 的功能测试的脚本。

架构:通过提供用于生成应用程序组件(这些组件都符合普通架构目标,比如页面级和片段级缓存; 两层设计;用于测试、开发和生产的环境)的开箱即用脚本,Rails 框架简化了架构。

工具:Rails 工具专门用于 Web。日志支持、breakpointer、剖析器(profiler)和测试框架都针对 基于 Web 的应用程序进行了修剪并针对两层操作而被启用。

但是钉子枪永远不会取代锤子,我们却愚蠢地希望能完全取代。锤子总能做一些钉子枪不能做的事情 。Rails 将永远不会成为用于企业集成、对象关系映射或全堆栈 Web 服务的工具。您可以对 Rails 所做 的最好期望是,它是能很好满足它所针对领域的专门工具。

跨越边界: Ruby on Rails的秘笈是什么?(2)

时间:2011-07-25 IBM Bruce Tate

开发人员实践

当您开始透过表面深入研究下去时,您开始了解 Rails 开发人员实践是如此的完全不同。快速的反馈 周期、每次的交互控制和约定优于配置,这些都增强了在 Java 框架中不常用的那些方面的开发人员实践 。

反馈周期

影响开发人员生产率的最重要因素之一是总体反馈周期。反馈周期是从改变代码到在屏幕上看到执行 应用程序的结果所用的时间。在 Rails 中,能够在编码时得到即时的反馈。当您对 Ruby 代码做出更改 时,该功能十分显著。可以立即加载一个浏览器页面来查看更改以后的结果。因为在开发期间不需要编译 或部署,我倾向于在重新加载浏览器或执行测试用例之前只对编程做微小的更改。几乎每个开始使用 Rails 的 Java 开发人员都以较小的程序块进行编码。

您可能认为对开发人员实践友好的快速反馈周期不支持生产环境。毕竟,频繁地重新加载类能够获得 快速反馈周期,但是会使生产应用程序变得很慢。但是 Rails 通过为部署和开发提供不同的环境,避免 了这个问题。在开发环境中以应用程序的性能为代价强制频繁地重新加载类,而生产环境则把类的重新加 载减少到最低限度,以开发人员的快速反馈周期为代价,为最终用户提供快速的体验。

交互性

Ruby 的交互式体验也有助于 Rails。您可能认为在没有完整的 IDE 的情况下调试 Rails 应用程序将 是一个痛苦的过程。实际却不是这样。Rails 提供两种简化调试的功能。其中之一是 breakpointer,它 允许您向源代码添加 breakpoint 关键字。

为理解 breakpointer 的运行过程,可创建一个简单的 Rails 应用程序,生成一个控制器,启动服务 器,并启动 breakpointer。确保您有权使用 breakpointer 窗口,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号