MVC在WebE的对应

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

一年前学习中的一段体会,现在仍可回味。

发信人: HAX(海曦), 信区: WebDevelop

标 题: Re: MVC在WebE的对应

发信站: 饮水思源 (2002年07月11日19:19:49 星期四), 站内信件

今天继续看了一下,又有一些新的发现。

【 在 HAX (海曦) 的大作中提到: 】

: 今天看了很久以前down下来的一篇文章:

: Objects and the Web

: Alan Knight, Naci Dai (这个名字好像中文名字啊!)

: 其中提到Web分层构架是4层:

: Input 对应于 MVC 的 input controller

: Application logic 对应于 application controller

: Business logic 对应于 model

: Presentation 对应于 view

传统MVC起源于smalltalk这种语言,用于软件开发。但是我们对smalltalk

不了解,很多对方也对MVC想当然,而且有绝对化(神化)MVC的倾向,

但是今天重新看了一下Objects and the Web文章里的图,据说MVC中的

Controller原来只是控制Keyboard、Mouse的,也就是说只是Input Controller,

而且Web上的Input Controller的对象显然不是Keyboard之类而是HTTP的Request

(所以好像看到有熟悉smalltalk的同志抱怨此MVC与stucts实现的MVC不同)……

而且更重要的是原始的MVC中并没有显然的区分Application logic 和

Business logic!仔细想想也是,Smalltalk就是学院式编程,恐怕没有

中间件的概念。

请问诸位同志在学习编程的时候有意识的区分Application logic和

business logic吗?我猜想达不到大量复用和构建复杂应用的需求时,

不会有自觉的Application logic和Business logic的划分吧!

: 俺觉得以前好象对这个对应没有搞得很清楚。主要的问题是

: 对于Application logic跟Business logic有些混淆。因为

: 还有content-logic-style的分法。事实上现在明白了,复杂的

: style还包括presentation logic,而content-logic的分法是

: 与model-controller的分法有差异的。因为对于传统web来说

: 它只有人可以理解的content没有设计model!当然这个判断不

: 是绝对的。因为content(data)既然成为独立的层,好歹会有

: 一些model,但这个model通常不是像MVC中那样是OO的,一般

: 可能仅仅是结构化和半结构化数据,或者是像ER model。显然

: 如果是这种情况,business logic就不能被封装到对象自身,

: 于是就容易与controller(application logic)混淆起来!

这里有点没有说清楚,content-logic和model-controller是有不同,

但是有类似的问题。前者的问题是application logic和business logic

混入logic层(我判断原因是content缺乏oo的表达),后者的问题是

application logic和business logic混入model层(或者毋宁说是还没

有application和business的分层需要)。

: 可是有个疑问,web的content不选择oo model,就一定是错的吗?

: MVC的分层一定适合于WebE吗?我虽然还没有答案,但我倾向于

: Web上需要应用的是一种非传统OO(如RDF)的model。

最后的意思是oo好像也具有封闭性……但是这个想法还很不清晰。

欢迎大家讨论。

--

做系统缺少资产,做应用缺少沟通,做信息缺少分类,

做工程缺少规范,做管理缺少制度,做团队缺少组织……

※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 202.120.15.34]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有