Live软件开发面面谈——MVC

第3章  MVC

假如问一群程序员,谁是最有价值厨师?他们大概会在短暂的茫然后给出五花八门的答案,男朋友、老婆、老妈或者某家快餐连锁店的幕后大厨。显然他们对这个概念还不太熟悉,但是如果把它翻译成英文Most Valuable Cook,有些人或许就明白了。假如还不知道,说出它的简称,他们就一定很熟悉——MVC。

MVC可谓是图形用户界面软件设计的标准模式。无论采用哪种编程语言,设计的是桌面端、Web还是移动端应用程序,采用的是流行的或冷门的开发框架,遵行MVC都几乎是必然的。然而另一方面,就像一千个人眼中有一千个哈姆雷特,当人们谈论MVC时,也像谈论爱情一样,所指千变万化。

视图没有直接从模型获得更新,而是由控制器修改视图,这违背了MVC的设计原则。控制器应该对视图的细节一无所知。事件响应程序可以直接写在视图内。控制器负责系统的业务逻辑。诸如此类都是我在各处看到的关于MVC的断言。在其他地方,又可以看到截然相反的论断。这些被我当成反面教材列出来的话语可不是初学者的臆想,它们都是来自Google相关关键字搜索的结果前列,有的是Oracle官方网站上对MVC的介绍文章,有的是俄亥俄州立大学计算机科学与工程系的主题讲义,有的是编程社区网站的热门和高票文章。代码样例是程序员学习的重要来源。不幸的是,同样来自Google搜索结果排名前列的MVC的样例代码在我初步看来,可以分为三个等级,不敢恭维、不忍卒读和惨不忍睹。很难相信这些代码的作者会以他们对MVC这样的理解和代码风格在实际项目开发中应用MVC模式。

平心而论,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值