Asp.net开发感受
1. CodeBehind模式更适合桌面应用程序
2. MVC更适合Web应用程序,因为其抽象和模块划分简直是非常的清晰和恰到好处,总体方法就是分而治之。最显著的不同就是可以有多个Form,不像CodeBehind默认只有一个大Form,所以mvc在复杂页面里非常灵活,因为可以把不同的功能拆分到不同的Form。
Web工作原理
说白了就是2个请求
1. Get请求: 适合包含少数参数的页面
2. Post请求: 用Get可以获得的信息,用Post方式也可以获得,但是Post不能写成一个Url形式,某些需要用Url来表示的信息不能使用Post,但如果参数大于2K,则必须用Post请求
asp.net mvc总结(以下简称mvc)
1. 我所看过的最好的MVC示例就是NerdDinner,它不仅是一个入门示例,更重要的是里面包含了值得我们多读几遍的经典代码和开发思想。
2. MVC模式分别对Get和Post请求做了非常明确的抽象,即用Attribute来标识方法,来说明该方法是处理哪种请求的。
3. mvc能使方法中的参数名与查询字符串的参数名或表单里的控件名相对应,当知道了这一点的时候,把这两方面的名称定义成一样的会使代码变得非常简洁。
4. mvc中有PartialView的概念,我发现这个特性与Ajax是绝配,页面越复杂,越能体现它们有多么的灵活高效。
5. 多语言方面,我所知道的大多已经集成进现有系统,简单的概括就是在Application_BeginRequest初始化语言环境,以后的代码就用CultureInfo.CurrentCulture来获取语言环境,这样就可以省掉绝大多数包含语言参数的方法的语言参数,代码更简洁。更多详细信息在MSDN上开发全球通用应用程序的最佳做法一节(http://msdn.microsoft.com/zh-cn/library/w7x1y988.aspx)
HTML与CSS
1. HTML与CSS我都比较熟,我推荐大家研究一下www.w3school.com.cn,里面有非常多有用的标准化的东西。做好Html与CSS的最最重要的关键点在于还Html标签以原有的含义,比如h1代表最大最重要的标题,显示信息列表的时候就用ul和li。结构比样式重要,要让页面在没有CSS的时候也能非常的具有可读性。最好的制作页面的流程是,第一步先完全抛开样式,先用纯Html,用最适合信息语义的Html标签,写出页面的Html代码,第二步在尽量不改变结构的情况下编写CSS,我建议只在2种情况下改变Html,一种是客户要的效果非常特殊,不改Html实现不了,第二种是如果不改Html会使CSS非常复杂的时候,简单性最重要,宁可不符合一部分标准,或抛弃垃圾的IE6浏览器。
2. web-standards.pdf也是很好的参考资料。
通用级连下拉框解决方案
我做过一个通用级连下拉框解决方案,在Chinasoft.rar里,我觉得有推广价值,可以使页面上无需手写JS,只需引入一个通用JS,后台代码也极为简洁。通用模块主要有一个JS,一个用户控件,一个Controller,一些抽象类和接口。要集成到一个系统时,只要让提供基础数据的类继承某个抽象类即可。使用时只需搞清方法参数的含义和一些命名约定即可。
通用的分页存储过程
还做过一个通用的分页存储过程,用于多表连接的查询分页,挺方便的,性能也不错,值得推广,名称为Utility_GetOnePage。
读程序心得
我熟悉一个系统的方法是三分之一靠看代码,三分之一靠逻辑推理,三分之一靠猜,猜是因为我们一般是没有精力把所有代码都看懂的,只要经过实践验证的猜一般就是对的,比如View与PartialView的默认缓存机制,我就是靠猜,然后写代码实践验证出来的。
我的“问题观”
1. 提出问题要积极
2. 分析问题要客观
3. 解决问题要及时