none
.NET开发网站之路到底该怎么走? RRS feed

  • 问题

  • 从事.NET(C#)开发网站至今也有2,3年了,期间开发过的项目也很多。大到类似校内,开心的社区网站,商场等项目。
    我一般开发项目都是3层架构(MODEL.DAL,BLL),程序也都是在后代码写的(事件,绑定数据等)。一般文件夹结构都是这些MODEL,DAL,BLL.CORE,WEB,等,但是最近看了一些别人(高手)开发的项目,基本都不是这么分的。他们开发的页面基本上看不到一个代码有的页面基本就是一个@PAGE就完事了。这种到底属于什么模式呢?有什么好处?
    另外,我也研究过那些.NET开发的大型网站,如点评,GOOGLE的那个社交网站,都是用.NET开发的,但是打开后代码都看不到那些用服务器控件生产的长长的ID,他们都是用什么模式开发的呢?
    我该往哪方面研究才能拉近与这些高手的差距呢,哪里能找到更多的高手开发的实例呢?现在感觉自己还是个新手一样。
    2009年8月20日 14:58

答案

  • 如果用到控件且使用了ViewState当然就会生成那些input hidden了 用MVC可以避免

    你提到的那些页面只有个<%@Page....的 一般都是通过Url重写转到了具体其他的某个页面的 或者直接用IHttpHandler之类的来处理

    其实用控件做网站并不代表就不是高手了,有时一些你觉得你奇特的方式的性能可能不如用控件的,我想国外开发和国内开发还是又很大区别的,国内很多人都喜欢自己写 而不善于用.net自带的很多东西来实现

    至于web项目做得好不好我觉得得看它的实际负载、性能、易用性、设计模式等方面综合考虑的 而不能光看代码是怎样的


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    • 已标记为答案 .net菜鸟 2009年8月21日 8:00
    2009年8月21日 2:27
    版主
  • 我也很想知道,前几天看了京东商城和博客园的源文件他们的首页没有冗长的ID也没viewstate也没有form标记。真不知是怎么弄出来的

    是啊,我其实也很想知道这个怎么做的,自己用.NET做出来的网页,有很多服务器控件,感觉运行速度确实不快,没ASP,PHP的快,是不是就是这些服务器控件,VIEWSTATE 导致的么(不是很明白呀)?用什么模式开发的网站没有FORM标记,冗长的ID呢?

    至少要知道 handler和page 的关系   你才能想通很多事情  

    不但要会用 asp.net  更要了解底层的实现  甚至要反编源代码   了解从request流到request对象每一个过程是如何实现的

    学会用handler  你就会发现  asp.net 和  asp 没有本质的不同  reg不同的handler 到不同的扩展名  你就定义了自己的行为模式  而不是aspx这种特定的模式

     就看你怎么用了
    答案破千 马上就要到5星用户了 嘿嘿~~
    • 已标记为答案 .net菜鸟 2009年8月21日 8:00
    2009年8月21日 2:51
  • 我也很想知道,前几天看了京东商城和博客园的源文件他们的首页没有冗长的ID也没viewstate也没有form标记。真不知是怎么弄出来的

    如果你使用很多的服务器端控件,肯定会生成很多东西,但是如果你自己写控件,只适应自己的需求就会减少很多。另外,虽然服务器端控件对性能不会有很大影响,但是我觉得最好前段还是HTML+CSS+JS来做,会轻量很多,逻辑和数据地方用C#会比较好。

    其实也不是WEB FORM和MVC的区别了,各个模式都能做的很好,看你对Web开发怎么了解了,很多做Web开发的人都不知道,基础是HTML,而不是ASP.NET。。
    我的博客,最近新写了一个Windows Mobile 6.5 Widget开发的文章,欢迎捧场
    尽力回答每一个问题,但不代表一定正确,希望初学者能够多自己尝试。。共勉。。:)
    • 已标记为答案 .net菜鸟 2009年8月21日 8:01
    2009年8月21日 3:17
    版主
  • 您好,asp.net的开发模式基本上能分为两大类,webform和mvc。两者各有特点,各有使用的场景。
    个人建议可以从体系架构方面来学习,从而在大局观上了解各项技术,以及对应的使用场景和时机。
    最终将微软的技术和架构、框架、模式、服务、组件等概念有机地整合在一起。达致一个新的境界。
    推荐一个在线读物,个人觉得的不错,可以以此为发散点了解自己感兴趣的课题和技术。
    http://apparchguide.codeplex.com/
    路漫漫其修远兮,大家共同来求索。
    • 已标记为答案 .net菜鸟 2009年8月21日 8:01
    2009年8月21日 6:32
    版主
  • 从事.NET(C#)开发网站至今也有2,3年了,期间开发过的项目也很多。大到类似校内,开心的社区网站,商场等项目。
    我一般开发项目都是3层架构(MODEL.DAL,BLL),程序也都是在后代码写的(事件,绑定数据等)。一般文件夹结构都是这些MODEL,DAL,BLL.CORE,WEB,等,但是最近看了一些别人(高手)开发的项目,基本都不是这么分的。他们开发的页面基本上看不到一个代码有的页面基本就是一个@PAGE就完事了。这种到底属于什么模式呢?有什么好处?
    另外,我也研究过那些.NET开发的大型网站,如点评,GOOGLE的那个社交网站,都是用.NET开发的,但是打开后代码都看不到那些用服务器控件生产的长长的ID,他们都是用什么模式开发的呢?
    我该往哪方面研究才能拉近与这些高手的差距呢,哪里能找到更多的高手开发的实例呢?现在感觉自己还是个新手一样。

    ASP.NET MVC1.0 BBS 简易Demo教学版源码


    http://www.51aspx.com/CV/MvcBBS/

    或者
    http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx
    资源很多 自己慢慢找吧。MVC主要为了效率还有整合还有设计的技巧。其实任何模式也都是为了解决特定领域的一些问题。
    • 已标记为答案 .net菜鸟 2009年8月21日 8:01
    2009年8月21日 5:07

全部回复

  • 我建议你多多来论坛助人为乐 看看这里的高手 然后比较比较 就知道自己差距了
    高手 这个词都是客观叫法 如果自己以为自己是高手 会造成你自己失败的
    2009年8月20日 15:29
  • 你看咱们的这个论坛 也是.net 的  但是并不是asp.net web form的 而是基于asp.net mvc 的

    建议看一下《企业应用架构模式》 中对于  page controller 和 MVC 两种模式的区别


    答案破千 马上就要到5星用户了 嘿嘿~~
    2009年8月21日 2:00
  • 我也很想知道,前几天看了京东商城和博客园的源文件他们的首页没有冗长的ID也没viewstate也没有form标记。真不知是怎么弄出来的
    2009年8月21日 2:14
  • 我也很想知道,前几天看了京东商城和博客园的源文件他们的首页没有冗长的ID也没viewstate也没有form标记。真不知是怎么弄出来的

    是啊,我其实也很想知道这个怎么做的,自己用.NET做出来的网页,有很多服务器控件,感觉运行速度确实不快,没ASP,PHP的快,是不是就是这些服务器控件,VIEWSTATE 导致的么(不是很明白呀)?用什么模式开发的网站没有FORM标记,冗长的ID呢?
    2009年8月21日 2:17
  • 如果用到控件且使用了ViewState当然就会生成那些input hidden了 用MVC可以避免

    你提到的那些页面只有个<%@Page....的 一般都是通过Url重写转到了具体其他的某个页面的 或者直接用IHttpHandler之类的来处理

    其实用控件做网站并不代表就不是高手了,有时一些你觉得你奇特的方式的性能可能不如用控件的,我想国外开发和国内开发还是又很大区别的,国内很多人都喜欢自己写 而不善于用.net自带的很多东西来实现

    至于web项目做得好不好我觉得得看它的实际负载、性能、易用性、设计模式等方面综合考虑的 而不能光看代码是怎样的


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    • 已标记为答案 .net菜鸟 2009年8月21日 8:00
    2009年8月21日 2:27
    版主
  • 如果用到控件且使用了ViewState当然就会生成那些input hidden了 用MVC可以避免

    你提到的那些页面只有个<%@Page....的 一般都是通过Url重写转到了具体其他的某个页面的 或者直接用IHttpHandler之类的来处理

    其实用控件做网站并不代表就不是高手了,有时一些你觉得你奇特的方式的性能可能不如用控件的,我想国外开发和国内开发还是又很大区别的,国内很多人都喜欢自己写 而不善于用.net自带的很多东西来实现

    至于web项目做得好不好我觉得得看它的实际负载、性能、易用性、设计模式等方面综合考虑的 而不能光看代码是怎样的


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond

    首先谢谢“1987raymond版主”的回复,我目前的情况是 能够独立开发一个WEB项目,在其间有什么不明白的技术地方,也能够在网上找资料自己解决,但是感觉开发出来的水平仍然很低,就类似考CET6级,写作文,用的还是CET4,或更低的语法语词来完成似的。每次开发出的项目对照一下前辈们的项目总是觉得很多的不足,我该再学习哪方便的知识来提高对整个网站架构的设计呢?(那些.NET 控件,JS,及数据库等都已经比较熟悉了,就算哪里不知道也可以网上查询得到),前辈们能否指点下,我该去看哪些教材或书籍呢?

    谢谢啦
    2009年8月21日 2:38
  • 我也很想知道,前几天看了京东商城和博客园的源文件他们的首页没有冗长的ID也没viewstate也没有form标记。真不知是怎么弄出来的

    是啊,我其实也很想知道这个怎么做的,自己用.NET做出来的网页,有很多服务器控件,感觉运行速度确实不快,没ASP,PHP的快,是不是就是这些服务器控件,VIEWSTATE 导致的么(不是很明白呀)?用什么模式开发的网站没有FORM标记,冗长的ID呢?

    至少要知道 handler和page 的关系   你才能想通很多事情  

    不但要会用 asp.net  更要了解底层的实现  甚至要反编源代码   了解从request流到request对象每一个过程是如何实现的

    学会用handler  你就会发现  asp.net 和  asp 没有本质的不同  reg不同的handler 到不同的扩展名  你就定义了自己的行为模式  而不是aspx这种特定的模式

     就看你怎么用了
    答案破千 马上就要到5星用户了 嘿嘿~~
    • 已标记为答案 .net菜鸟 2009年8月21日 8:00
    2009年8月21日 2:51
  • 这帖子很有学习价值
    2009年8月21日 2:55
  • 如果用到控件且使用了ViewState当然就会生成那些input hidden了 用MVC可以避免

    你提到的那些页面只有个<%@Page....的 一般都是通过Url重写转到了具体其他的某个页面的 或者直接用IHttpHandler之类的来处理

    其实用控件做网站并不代表就不是高手了,有时一些你觉得你奇特的方式的性能可能不如用控件的,我想国外开发和国内开发还是又很大区别的,国内很多人都喜欢自己写 而不善于用.net自带的很多东西来实现

    至于web项目做得好不好我觉得得看它的实际负载、性能、易用性、设计模式等方面综合考虑的 而不能光看代码是怎样的


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond

    首先谢谢“1987raymond版主”的回复,我目前的情况是 能够独立开发一个WEB项目,在其间有什么不明白的技术地方,也能够在网上找资料自己解决,但是感觉开发出来的水平仍然很低,就类似考CET6级,写作文,用的还是CET4,或更低的语法语词来完成似的。每次开发出的项目对照一下前辈们的项目总是觉得很多的不足,我该再学习哪方便的知识来提高对整个网站架构的设计呢?(那些.NET 控件,JS,及数据库等都已经比较熟悉了,就算哪里不知道也可以网上查询得到),前辈们能否指点下,我该去看哪些教材或书籍呢?

    谢谢啦

    你好 如Waynebaby所述这个时候你可能需要看一些.net低层方面的东西了 以及对整个从客户端发送请求开始响应到最终完成输出到流返回给客户端这个过程具体每一步是怎样的
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月21日 3:15
    版主
  • 我也很想知道,前几天看了京东商城和博客园的源文件他们的首页没有冗长的ID也没viewstate也没有form标记。真不知是怎么弄出来的

    如果你使用很多的服务器端控件,肯定会生成很多东西,但是如果你自己写控件,只适应自己的需求就会减少很多。另外,虽然服务器端控件对性能不会有很大影响,但是我觉得最好前段还是HTML+CSS+JS来做,会轻量很多,逻辑和数据地方用C#会比较好。

    其实也不是WEB FORM和MVC的区别了,各个模式都能做的很好,看你对Web开发怎么了解了,很多做Web开发的人都不知道,基础是HTML,而不是ASP.NET。。
    我的博客,最近新写了一个Windows Mobile 6.5 Widget开发的文章,欢迎捧场
    尽力回答每一个问题,但不代表一定正确,希望初学者能够多自己尝试。。共勉。。:)
    • 已标记为答案 .net菜鸟 2009年8月21日 8:01
    2009年8月21日 3:17
    版主
  • 各位老师能否提供一个如楼主描述的那样的Demo,以供参考。谢谢
    2009年8月21日 3:21
  • 各位老师能否提供一个如楼主描述的那样的Demo,以供参考。谢谢

    其实随便翻一本介绍 asp.net的国外书   都会从 asp.net 原理  管线  handelr和 model讲起   连share point的书都会重复一次 大家常常觉得没用忽略过去罢了



    答案破千 马上就要到5星用户了 嘿嘿~~
    2009年8月21日 3:33
  • 各位老师能否提供一个如楼主描述的那样的Demo,以供参考。谢谢

    其实随便翻一本介绍 asp.net的国外书   都会从 asp.net 原理  管线  handelr和 model讲起   连share point的书都会重复一次 大家常常觉得没用忽略过去罢了



    答案破千 马上就要到5星用户了 嘿嘿~~

    什么名的书
    2009年8月21日 4:07
  • 这帖子讨论得好。
    http://hi.baidu.com/2009ajun
    2009年8月21日 4:12
  • 从事.NET(C#)开发网站至今也有2,3年了,期间开发过的项目也很多。大到类似校内,开心的社区网站,商场等项目。
    我一般开发项目都是3层架构(MODEL.DAL,BLL),程序也都是在后代码写的(事件,绑定数据等)。一般文件夹结构都是这些MODEL,DAL,BLL.CORE,WEB,等,但是最近看了一些别人(高手)开发的项目,基本都不是这么分的。他们开发的页面基本上看不到一个代码有的页面基本就是一个@PAGE就完事了。这种到底属于什么模式呢?有什么好处?
    另外,我也研究过那些.NET开发的大型网站,如点评,GOOGLE的那个社交网站,都是用.NET开发的,但是打开后代码都看不到那些用服务器控件生产的长长的ID,他们都是用什么模式开发的呢?
    我该往哪方面研究才能拉近与这些高手的差距呢,哪里能找到更多的高手开发的实例呢?现在感觉自己还是个新手一样。

    ASP.NET MVC1.0 BBS 简易Demo教学版源码


    http://www.51aspx.com/CV/MvcBBS/

    或者
    http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx
    资源很多 自己慢慢找吧。MVC主要为了效率还有整合还有设计的技巧。其实任何模式也都是为了解决特定领域的一些问题。
    • 已标记为答案 .net菜鸟 2009年8月21日 8:01
    2009年8月21日 5:07
  • 我等4.0出来 再学mvc 现在很多东西还没认识到 不慌
    2009年8月21日 5:25
  • 您好,asp.net的开发模式基本上能分为两大类,webform和mvc。两者各有特点,各有使用的场景。
    个人建议可以从体系架构方面来学习,从而在大局观上了解各项技术,以及对应的使用场景和时机。
    最终将微软的技术和架构、框架、模式、服务、组件等概念有机地整合在一起。达致一个新的境界。
    推荐一个在线读物,个人觉得的不错,可以以此为发散点了解自己感兴趣的课题和技术。
    http://apparchguide.codeplex.com/
    路漫漫其修远兮,大家共同来求索。
    • 已标记为答案 .net菜鸟 2009年8月21日 8:01
    2009年8月21日 6:32
    版主