当前位置:编程学习 > C#/ASP.NET >>

asp.net MVC 被问郁闷了。.

今天去面试, 问我, 解释一下三层结构
我说"这三层为 表示层,业务层, 数据层
表示层写些用户界面,  业务层写应用程序业务代码, 数据层写数据库那些访问什么的"

他说我说的不对, 真正的三层结构还有很多东西,不是那么简单的, 说了好多, 我都挺蒙了

到底怎么解释mvc ?    MVC 就是把相应的代码,下到不同的地方不就行了吗???  还有那么多事儿? 
--------------------编程问答-------------------- 差不多也是这样了。 --------------------编程问答-------------------- 不是的, 他给我画了个图, 有三个圈, 分别表示这三层 ,然后在这三个圈旁边又画了好多,说的话,我都没听说过.. 好郁闷... --------------------编程问答-------------------- 他肯定说的是mvc的架构

微软的asp.net 和java的struct都是基于这种结构

简单的说就是模块(业务代码),视图(界面),控制器(处理http请求的相关操作,如Request.Response等等)
我这样说的也许不够严谨,你在网上搜索一下标准答案.
--------------------编程问答-------------------- MVC 架构 和 三层结构 不是一回事 ???????????

是根本就不是一回事儿, 还是有相似的, 也有不同的? --------------------编程问答-------------------- 然后在这三个圈旁边又画了好多

估计是具体的方法吧。 --------------------编程问答-------------------- 如果你将许多设计模式中的控制类与.net的委托/事件做对比的理论文章你就会明白,很多看上去很高深的模型中其实主要靠“控制类”来赢分。如果你把模式中每一个控制类用委托/事件好好休整一下,会发现其实模式很简单,没有那么多噱头。 --------------------编程问答-------------------- 我们一再强调,在asp.net下你的代码不需要调用页面机制,它会调用你的代码。你只要根据职责把代码尽量分配到最合适的事件中,不要一股脑在一个事件中(例如page_load中)强行做一切。

至于说界面要和业务逻辑分离,相信很多人都有这个概念。

我觉得如果你懂得具体的开发框架,忘掉MVC这么低级的框架,就比那些吵吵着MVC却整天在那里发明MVC的人要强。 --------------------编程问答-------------------- 如果我面试,我会问“asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”,“WinForm程序与asp.net程序如何共用业务处理类库?”,我会在聊天中谈尽量具体而全面的问题,尽量不会问那么过于响亮而只有一点点书本概念的“怎么解释MVC”的问题。 --------------------编程问答-------------------- asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”,“WinForm程序与asp.net程序如何共用业务处理类库?”,

这两个我都不知道怎么说? --------------------编程问答-------------------- 窗体设计器生成的代码里面有:
this.DorpdownList_SelectChanged+= new System.EventHandler(this.DorpdownList_SelectChanged); --------------------编程问答-------------------- sp1234 说得挺好的.赞成 --------------------编程问答-------------------- mark --------------------编程问答-------------------- "我觉得如果你懂得具体的开发框架,忘掉MVC这么低级的框架,就比那些吵吵着MVC却整天在那里发明MVC的人要强。" --------------------编程问答-------------------- MVC和三层架构有本质的区别的。

三层架构,故名思意,是整个系统的一种架构体系,它可以体现在系统的物理或逻辑结构上。

MVC只是一种模式,是一种可用于表示层的设计模式。(简单的说就是把用户对系统的访问再进行中央集权式的控制) --------------------编程问答-------------------- asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的:
    这个问题就大了,看来我们得从人和宇宙的关系开始讲起 :)
    asp.net对这个问题的判断主要还是基于html的机制,所以要回答这个问题,怕是得从http协议开始讲起了。

WinForm程序与asp.net程序如何共用业务处理类库:
    类库的共用很简单的,只要把业务处理的逻辑封装成程序集就行了。 --------------------编程问答-------------------- 都不懂。。。。 --------------------编程问答-------------------- 在asp.net下谈MVC?没有会在asp.net下面写action.aspx的,除非这个人不懂.net。
.net的控制器实际上就是控件的事件加载。全部在页面的后台cs代码中实现了。
这个面试的人到底懂不懂.net? --------------------编程问答-------------------- ASPX ==> VIEW
CodeBehind ==> MODEL + CONTROLLER

More elegant 
aspx ==> VIEW
CodeBehind ==> CONTROLLER
Plain object ==> MODEL
--------------------编程问答-------------------- 哎,高深的要死,我就不懂,我只知道,这都是约定,巧妙的约定会延用,笨拙的约定会被替代。看你能知道多少约定。所有的基础好象都离不开TC2.0的那点东西。 --------------------编程问答-------------------- “asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”

-------------------------
UP UP UP!

就这个问题,都可以从 http 请求,客户端javascript,服务器端事件处理,委托联系到了,
再多就是 asp.net 页生命周期了,

一问就知道,是不是只会拽控件,搭傻瓜式website的啦
--------------------编程问答-------------------- 根据楼上所示
我是傻瓜。 --------------------编程问答-------------------- 面试官是个只会理论的傻瓜,这种公司不去也罢,去了也只会夸夸其谈。 --------------------编程问答-------------------- 如果说mvc,那么最好谈java,因为java的编程模型里用得着。如果说.net,你写asp.net页面的时候,天天用的就是mvc,只不过是自已不知道而已。面试官是个自恋狂,这通过他给你讲这个模型就能看得出来。 --------------------编程问答-------------------- MVC 是表示层的事情啦 --------------------编程问答-------------------- 现在有一个框架  教asp.net mvc是别人提供的基于三层架构的框架
同时运用了mvc模式 --------------------编程问答-------------------- 现在有一个框架  教asp.net mvc是别人提供的基于三层架构的框架
同时运用了mvc模式 --------------------编程问答-------------------- 现在有一个框架  教asp.net mvc是别人提供的基于三层架构的框架
同时运用了mvc模式 --------------------编程问答-------------------- mark一下。 --------------------编程问答--------------------
引用 20 楼 Jinglecat 的回复:
“asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?” 

------------------------- 
UP   UP   UP! 

就这个问题,都可以从   http   请求,客户端javascript,服务器端事件处理,委托联系到了, 
再多就是   asp.net   页生命周期了, 

一问就知道,是不是只会拽控件,搭傻瓜式website的啦 

原来我也是半个傻瓜 --------------------编程问答-------------------- 欢迎各位加入ASP.NET MVC框架超级群!让我们共同学习、进步!QQ群号:40985466 

非常乐意为大家提供一个良好的交流平台! --------------------编程问答-------------------- 三层架构跟MVC没有什么关系 --------------------编程问答--------------------
引用 29 楼 wangping_li 的回复:
引用 20 楼 Jinglecat 的回复:
 “asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”

 -------------------------
 UP   UP   UP!

 就这个问题,都可以从   http   请求,客户端javascript,服务器端事件处理,委托联系到了,
 再多就是   asp.net   页生命周期了,

 一问就知道,是不是只会拽控件,搭傻瓜式website的啦

 原来我也是半个傻瓜

我也是傻瓜 --------------------编程问答-------------------- 两个根本不是一个概念的东西。没有可比性。
--------------------编程问答--------------------
引用 8 楼 sp1234 的回复:
如果我面试,我会问“asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”,“WinForm程序与asp.net程序如何共用业务处理类库?”,

麻烦解释一下这两个问题被!听着晕! --------------------编程问答-------------------- 何必说这些没用的东西呢?什么概念。。能做出他要的功能和网站就行了。 --------------------编程问答--------------------
引用 32 楼 vip__888 的回复:
引用 29 楼 wangping_li 的回复:
引用 20 楼 Jinglecat 的回复:
“asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”

-------------------------
UP   UP   UP!

就这个问题,都可以从   http   请求,客户端javascript,服务器端事件处理,委托联系到了,
再多就是   asp.net   页生命周期了,

一问就知道,是不是只会拽控件,搭傻瓜式website的啦

原来我也是半个傻瓜

我也是傻瓜


偶也是个傻瓜!! --------------------编程问答-------------------- 快解释一下胖墩提问的那两个问题啊,不然以后人家问住了怎么办啊!!快 救问题 如救火啊 --------------------编程问答--------------------
引用 37 楼 cgstian 的回复:
快解释一下胖墩提问的那两个问题啊,不然以后人家问住了怎么办啊!!快 救问题 如救火啊

不想活了哇 这可是我们玉树临风的SP大大哦~ :D --------------------编程问答--------------------
引用 37 楼 cgstian 的回复:
快解释一下胖墩提问的那两个问题啊,不然以后人家问住了怎么办啊!!快 救问题 如救火啊

--------------------编程问答--------------------
引用 8 楼 sp1234 的回复:
如果我面试,我会问“asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”,“WinForm程序与asp.net程序如何共用业务处理类库?”,我会在聊天中谈尽量具体而全面的问题,尽量不会问那么过于响亮而只有一点点书本概念的“怎么解释MVC”的问题。


因为有句话是这样写的
this.DropDownList1.SelectedIndexChanged += new EventHandler(DropDownList1_SelectedIndexChanged);
这里调用(+=)一个委托(EventHandler),该委托指向DropDownList1_SelectedIndexChanged方法
所以而不调用其它的事件。
我下周能上班了吗。。。 --------------------编程问答--------------------
引用 40 楼 guanpu28 的回复:
引用 8 楼 sp1234 的回复:
 如果我面试,我会问“asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”,“WinForm程序与asp.net程序如何共用业务处理类库?”,我会在聊天中谈尽量具体而全面的问题,尽量不会问那么过于响亮而只有一点点书本概念的“怎么解释MVC”的问题。


 因为有句话是这样写的
 this.DropDownList1.SelectedIndexChanged += new EventHandler(DropDownList1_SelectedIndexChanged);
 这里调用(+=)一个委托(EventHandler),该委托指向DropDownList1_SelectedIndexChanged方法
 所以而不调用其它的事件。
 我下周能上班了吗。。。

有这么简单? --------------------编程问答-------------------- 三层就是不带套子做爱,MVC就是在鸡巴上套了个套子做爱。本质一样是活塞运动 --------------------编程问答-------------------- 我就是那个自恋狂的面试官……哈哈

楼主,问题没答好,肯定不能来上班啦!

----------
还是SP1234的境界不一样,学习…… --------------------编程问答--------------------
引用 36 楼 ls765029155 的回复:
引用 32 楼 vip__888 的回复:
引用 29 楼 wangping_li 的回复:
引用 20 楼 Jinglecat 的回复:
“asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”

-------------------------
UP   UP   UP!

就这个问题,都可以从   http   请求,客户端javascript,服务器端事件处理,委托联系到了,
再多就是   asp.net   页生命周期了,

一问就知道,是不是只会拽控件,搭傻瓜式website的啦

原来我也是半个傻瓜

我也是傻瓜


偶也是个傻瓜!!

一样 --------------------编程问答-------------------- 自恋狂出现了。。。。 --------------------编程问答--------------------
引用 31 楼 zzxap 的回复:
三层架构跟MVC没有什么关系


我也是这么理解的,但不敢说啊呵呵 --------------------编程问答--------------------
引用 40 楼 guanpu28 的回复:
引用 8 楼 sp1234 的回复:
如果我面试,我会问“asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”,“WinForm程序与asp.net程序如何共用业务处理类库?”,我会在聊天中谈尽量具体而全面的问题,尽量不会问那么过于响亮而只有一点点书本概念的“怎么解释MVC”的问题。


因为有句话是这样写的
this.DropDownList1.SelectedIndexChanged += new EventHandler(DropDownList1_SelectedIndexChanged);
这里调用(+=)一个委托(EventHandler),该委托指向DropDownList1_SelectedIndexChanged方法
所以而不调用其它的事件。
我下周能上班了吗。。。

请问pageload事件你能回避掉,回发你能处理掉? --------------------编程问答-------------------- 呵呵 欣赏你的做法!
引用 8 楼 sp1234 的回复:
如果我面试,我会问“asp.net是怎么知道该调用DropdownList的SelectChanged事件而不调用其它的事件的?”,“WinForm程序与asp.net程序如何共用业务处理类库?”,我会在聊天中谈尽量具体而全面的问题,尽量不会问那么过于响亮而只有一点点书本概念的“怎么解释MVC”的问题。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,