这些文章是关于我大学四年来对ASP.NET开发的一些总结,包括我对ASP.NET最后大致上的认知,主要是讲述我现在理想状态下的一个ASP.NET项目是什么样子的。
如果太长的话,或许会分多几篇讲完吧,毕竟啰嗦是常有的事情。
选择写这么一篇文章是因为,或许会有很长一段时间远离ASP.NET了,但是却对ASP.NET有着感情,毕竟有这么大的投入。当然,也不至于离开.NET,只是找到的工作是.NET3.5的WPF,而且是建筑计量软件,要远离Web好一阵子了。(不过最近发现也挺有趣。)
如果哪一天,你见到一个网站的一个页面,看看它的源代码大概是这样的,或许它是我做的:
<html> <head> <script src="/$Source/Scripts/jQuery/jQuery-1.7.2/jquery-1.7.2.min.js" type="text/javascript"></script> <!--style _Main--> <link href="/$Style/_Main/Style.css" rel="stylesheet" type="text/css" /> <script src="/$Style/_Main/Style.js" type="text/javascript"></script> <!--style __Default--> <link href="/$Style/__Default/Style.css" rel="stylesheet" type="text/css" /> <script src="/$Style/__Default/Style.js" type="text/javascript"></script> <!--style ___Login--> <link href="/$Style/__Default/___Login/Style.css" rel="stylesheet" type="text/css" /> <script src="/$Style/__Default/___Login/Style.js" type="text/javascript"></script> </head> <body> <!--_Main--> <div id="Indream_Main"> <!--__Login--> <div id="Indream__Login"> <!--___Login--> <div class="Indream___Login"> <table class="form"> <tr class="tr1 id"> <td class="td1"> <div class="heading"> ID: </div> </td> <td class="td2"> <div class="content"> <input id="ID_Textbox" type="text" /> <span class="tips"> </span> </div> </td> </tr> <tr class="tr2 password"> <td class="td1"> <div class="heading"> Password: </div> </td> <td class="td2"> <div class="content"> <input id="Password_Textbox type="password" /> <span class="tips"> </span> </div> </td> </tr> <tr class="tr3 operations“> <td class="td1> </td> <td class="td2> <div class="content"> <input id="Login_Button" value="Login" type="button" /> <input id="IsAutoLogin_Checkbox" value="Auto Login" type="checkbox" /> <a href="/Register/" target="_blank">Register</a> <div class="result"> </div> </div> </td> </tr> </table> </div> <!--end ___Login--> </div> <!--end __Login--> </div> <!--end _Main--> </body> </html>
呵呵,因为这个系统没有家伙,这个直接用了园子的编辑器打出来,或许细节上会有些错误,欢迎指正。
这里展示的是一个登陆界面的Demo,当然真实的实现会包括更多的细节。虽然这也只是一个HTML页面,但是也能简单地看到后台的一些信息。比如“_Main”是MasterPage的命名,“__Login”是aspx页面,“___Login”就是用户自定义控件了。你也可以看到它们的结合,比如“___Login”是用class来标志的(Indream___Login),而另外两个是用id。显然也是因为另外两种是唯一的而控件是可以多项并存于一个页面的。
我的代码习惯是从来不是用简写,包括英文单词。虽然在web来说十分不好,因为要考虑到页面重量问题。但是我觉得,将来,Web也一定会走向“编译(或者只是压缩)/发布”的道路,以此解决Web的性能瓶颈。
然后这段时间,趁着下班和周末,我再挤点时间,一点一点地从小小的命名、文件布局到模式、架构,把它一点点细细地写完。一篇一篇,讲述它们是怎么产生和演变,最终成型,以及下一步的进化目标。
最后,等到完全写完了,或许应该会再Review & Rewrite,重构和改需求不就是我们的生活吗?