生活中的MVC架构
昨晚朋友让我给TA讲讲MVC,我就让TA去看“【原创】Java Web的MVC框架设计原则”博文,结果TA还是没明白,也许是TA从来都没接触过MVC框架,或者编程功底不足的原因,那么我就举个生活中的例子来解释下MVC框架。
公司美女小倪在网上购买了一套衣服,由于公司安全制度,快递员不能直接进入公司内部给小倪送包裹,只能通过公司前台小李,快递员告诉小李有小倪快递,然后小李打电话给小倪,小倪再出来收取包裹。该事件涉及快递员、前台小李、包裹签收人小倪或者其他同事。
上述事件就是一个典型的MVC架构原型,快递员送包裹给小倪就是一个Request请求,这个请求首先传递给公司前台小李,小李就是MVC框架中的前端控制器(Dispatcher),小李查找员工联系信息,员工联系信息就是MVC框架中的配置信息,如果员工联系信息中有小倪,那么就打电话给小倪,小倪就相当于Controller,只不过Control她自身而已,小倪在电话里告诉小李“马上出来”,“马上出来”就是Controller返回的一个码值(逻辑视图),小李最终将“马上出来”这个逻辑视图传递给快递员,过一会儿小倪出来了,小倪就是逻辑视图“马上出来”的View,去签收包裹,至此整个快递员的包裹请求结束。
如果员工联系信息里没有小倪,那么请求失败。
如果员工联系信息有小倪,但是小倪今天请假不在,那么请求失败。
如果接小李电话的不是小倪,而是小倪同事小刘,那么小刘就是Controller。