Contrller应该做什么

看看这段代码:

class TaskController < ApplicationController
  active_scaffold :tasks

  protected

  def before_update_save(record)
    record.updated_by = current_user
  end
end
 



我们常常要讨论一段逻辑放在哪里,页面和controller之间一般好说,问题在于业务层和controller之间。而这个例子很典型,current_user这样的信息不可能在业务层得到,因为这是状态信息,而controller可以提供这些。

在RIA的冲击下,controller的功能不再包含大量用户UI的交互逻辑,因此它的价值也就凸现了出来──会话,这才是controller真正擅长的地方。从这个意义上说,我们从前搞不清楚的业务逻辑层/服务层/表现层的架构体系,现在可以用更加容易理解的架构进行代替了:业务逻辑层/会话层/表现层

这里,唯一不变的仅仅是业务逻辑层,其它两个都要说明:

会话层就是controller,在一个无状态的架构中,最终将用户状态与后端业务联系的就是这个会话层──它的职责也仅此而已。
表现层一般对应我们常说的html/js/css等,它是RIA的,它自己有MVC结构,由于都在浏览器上,因此具备很好的用户响应能力。
换个角度看,有了会话层和表现层,这个系统架构再加上tcp/ip协议,看看像不像osi七层?

也许开放系统体系结构(OSI)的7层协议本来就是网络架构和应用架构衔接的结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值