Rails案例研究
http://tech.ddvip.com 2008年01月18日 社区交流
内容摘要:通过对竞争对手和项目的考察,我们了解到:我们希望能够每天给站点带来几百万次点击的通信量。而我们需要每天有几十万次成功的点击,因此可伸缩性也是一个考虑因素。这与 Java 部署思想相符。
惯例优先原则
Java 框架通常可以自由地使用 XML 配置,而 Rails 主要使用惯例来避免可能的配置。在程序员必须指定配置的位置,Rails 通常依赖 Ruby(常常以 DSL 形式)来提供配置。对于 green-field 开发,我发现惯例优先于配置是很有意义的。该策略为我省去了很多行代码,更简化了必须编写的代码。估计我们所需的配置只有传统 Java 应用程序中所指定的十分之一。我们有时会损失一点灵活性,但这并不足以抵消使用此策略带来的节省。
总而言之,Rails 框架的原理适合解决 ChangingThePresent.org 项目中的问题。集成的各种工具让我可以利用框架实现更多的功能而无需自己进行过多的集成。“惯例优先原则” 为我节省了配置站点的时间。动态语言为经验丰富的开发人员提供了更多的能力和灵活性,同时也使他们能够利用更少的代码表达更强大的思想。该框架适合于我们团队的能力和要解决的业务问题。
持久性
Java 和 Ruby 语言的最流行的持久性框架可以比任何其他特性更好地阐明 Java 和 Ruby 经验之间的区别,Java 开发人员通常使用 Hibernate,它是一种对象关系映射框架。通过 Hibernate,您可获取现有的模型和模式并使用注释或 XML 表达二者之间的映射。Hibernate 类是简单传统 Java 对象(POJO),它的每个对象派生自一个通用的基类。大多数配置是显式的,使用注释、XML 或二者的某种结合。
而 ActiveRecord 是一种包装的框架,就是说每个类都是现有类的包装器(请参阅文章 “研究活动记录”)。ActiveRecord 根据关联表的内容(如表中每列的一个属性)自动地向模型对象添加特性。所有的类都从一个通用的基类继承。ActiveRecord 主要利用通用约定来推断配置。例如:
责编:豆豆技术应用
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……