写点什么

在 Ruby on Rails 中实现 Seaside?

  • 2007-04-12
  • 本文字数:715 字

    阅读完需:约 2 分钟

Ruby on Rails 为什么成为最炙手可热的 Web 框架?到底是因为它引入了许多全新的革命性理念?或者仅仅是因为它为早已众所周知的设计实践带来更为优秀的实现?这正是 Giles Bowkett 所问的第一个问题。他通过比较了 Rails 的视图 / 控制器模式和 Seaside 的组件及渲染方法,向大家阐述了自己的想法。将 Rails 的视图 / 控制器替换成与 Seaside 更为相似的方式,是否值得呢?

Giles 着重指出这种架构的优点(如集中管理)和缺点(如毫无意义的 URL):

难道你不能模拟 Seaside 的组件化模式么?你可以把 Rails 的控制器和视图替换成包含带内建渲染方法(built-in render methods)对象的 Builder 模板,而那些内建的渲染方法可以调用其它 Builder 模板。这当然行得通,事实上,你基本能实现除了 Continuations 之外的所有东西。但问题是,如果你没有 Seaside 的 Session 管理,这样做是否值得?而且在除了 Smalltalk 之外的语言中 Session 管理会不会变成一场噩梦?这里的观点是,Rails 的模板系统是一个又大又臃肿又臭气熏人的大洋葱。最后,事实上我们为 Seaside 风格的开发提出了一个可能比 Rails 更好的设计方案,而且保留所有 Ruby 强于 Squeak 的优点——更简便的 DB/Unix 集成,更多开发人员,等等。

文章收到不少评论,其中 Assaf Arkin 友善地指出如何使用 Rails 中的 capture() 方法来实现无模板的解决方案。而 Bram 法则(Bram’s Law)表示担心:如果一个软件越容易编写,那么实际上它会被实现得越糟糕。

……这正是我一直以来担心在 Rails 上发生的:在五年或者十年以后,你能找到的最差的工作将会是 Rails 的工作——你在维护一些非程序员写的代码,这些人发现 Rails 使得编程变得如此之简单,以至于他们根本不用知道他们在做些什么。

2007-04-12 20:30785
用户头像

发布了 117 篇内容, 共 16.3 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

同型号LED全彩屏价格差异的原因

Dylan

价格 LED显示屏 全彩LED显示屏 led显示屏厂家 市场

长电科技2024年2季度归母净利润环比增长258%,营收创同期历史新高

财见

What's new in PikiwiDB(Pika) v3.5.5

apache/dubbo-go

redis Pika

sunpump交易所做市机器人

区块链技术

参加AIGC 应用实战营的一点感受

Lee Chen

WorkPlus:为企业内部打造高效沟通的顶级内部通讯软件

BeeWorks

我用 ChatGPT 学 Redis,差点蚌埠住了!

码哥字节

Java redis 底层原理 ChatGPT

PIRF-407-Food for thought

Echo!!!

English

即时通讯IM软件推荐:五款适合企业内部使用的IM即时通讯软件

BeeWorks

移动应用平台,企业移动门户就选WorkPlus

BeeWorks

开发全面覆盖拍卖直播软件平台:移动APP与网页端结合

软件开发-梦幻运营部

《Programming from the Ground Up》阅读笔记:p103-p116

codists

汇编 编程人

天润融通助力呷哺呷哺:AI技术赋能3000万会员精细化运营

天润融通

《AIGC应用实战营》毕业总结

AI应用

NFT数字藏品艺术品系统开发(原理)丨NFT数字藏品艺术品系统开发(案例详解)

V\TG【ch3nguang】

AIGC应用训练营毕业总结

MiracleWong

训练营 AIGC

SunPump刷量机器人

区块链技术

中国数据库的崛起:从本土化挑战到全球化机遇

繁依Fanyi

数据库

CentOS全面停服,国产化提速,央国企信创即时通讯/协同门户如何选型?

BeeWorks

2024-08-24:用go语言,给定一个下标从1开始,包含不同整数的数组 nums,数组长度为 n。 你需要按照以下规则进行 n 次操作,将数组 nums 中的所有元素分配到两个新数组 arr1 和

福大大架构师每日一题

福大大架构师每日一题

告别低效!10款项目管理办公室系统深度对比

爱吃小舅的鱼

项目管理 办公系统

HTTP与HTTPS的不同

德迅云安全杨德俊

Redis面试都卷到C语言去了。。。

江南一点雨

Transit Technologies通过收购Bytecurve进入K-12软件市场

财见

TCL电子(01070.HK)2024年上半年经调整归母净利润同比大增近1.5倍

财见

IM即时通讯软件,企业即时通讯系统就选WorkPlus

BeeWorks

目前市面上最好用的分布式存储体验(天翼云 HBlock)

武师叔

HBlock

在Ruby on Rails中实现Seaside?_Ruby_Alexis Midon_InfoQ精选文章