• 我的程序之路 asp.net 接触二年,工作一年总结 (2) lcs


    我的程序之路 asp.net 接触二年,工作一年总结 (2)


    进了公司,是个做电子商务的网站,刚起步的,我当时去的时候连营业执照都还没有批下来,内部开发调试刚刚结束。过去先浏览网站,找其中的BUG,熟悉业务流程。还好,我本来对电子商务比较感兴趣,之前在淘宝上也玩过,没二天就把基本流程搞熟悉了。上面也没有给我分配任务,我就上csdn浏览网站了(之前家里不能上网)。随后装上了sqlserver,看他们的数据库架构,表很多,也很乱,大概了解了一下,也就没有往下看了。接着装VSS,看源码,之前都是写demo,自己一个人开发,从没接触过VSS等代码管理软件。上来就是一个新家伙,蛮好的,在网上找了一翻资料,还下了vss2005安装镜像和一些资料,晚上带回家学习了。(公司用的是vss6.0)

    从VSS里面下下源码,乖乖,20多个项目。头一次见这么大的项目,编译都得有一会。看了一下代码,代码很乱,也没有分层,到处是数据库连接。虽然也有一个类似sqlhelper一样的助手类,但是页面还是其它的项目里面,到处是从数据库里面返回dataset的代码。还有用户控件,全部都是在.ascx.cs的页面后台代码里面拼凑出来的页面html源码。我那时候也搞不懂,为什么要这样做,因为我也着实是个新手,自己的一些想法也不确定是对还是错。只能先记着,回头有机会了再问。

    第二个星期,任务下来,让我做几个页面上要显示的用户控件:自己调用sqlhelper返回结果集然后显示在页面上。还好,不难,之前类似的demo写过不少,只是之前都是用控件直接托出来的。我想着他们都是在后台自己写html源码的,可能是为了性能考虑。于是我就用asp风格的代码,在.ascx.cs里面取得结果集,并在.ascx页面前台拼凑出了页面源码,比他们之前的写法稍简单些,至少html源码不用在后台用字符串写了,“”号不用转译了。

    第一次完成任务,我也表示了我这样写法比他们之前的写法简单(原来有二个程序员,一个美工,最多的时候有6个程序员,都是学生)

    他们在看了我的代码以后,没做过多的评价。后来我知道了,他们也不是真正的程序员,都是学生,是老板和他们认识,叫他们来开发的,他们也表示这是他们第一次搞这样子的网站,是边学边做的。知道这个,我蛮佩服他们的,要是让我,我还真不知道能不能搭出来这么大一个网站来。

    既然大家都是学习,那我就心里有底了,因为我一直觉得自己学得蛮好的(是和同学比较得来的 )

    我随后就把petshop的分层模式告诉他们了, 告诉他们这么大一网站要好好设计。他们也很认同,也着实学习了petshop的源码,因为他们能写出这么一个大站出来,一些基础,一定是比我扎实的,所以也没花多大功夫,基本上也就搞清楚petshop的分层架构。在随后的网站开发中,确实有部分新模块就是使用分层架构去写的,不过大框架主功能都已经完成,大改动是不可能了,只能将就着开发了。

     在随后的开发中,我因为是新来的,任务分配也较少,而且我总是会使用一些"偷懒"的方法去实现(他们不习惯使用控件,因为那有学习成本,他们还是习惯在页面后台拼凑html源码)。而我总是能够适当的使用控件来快速的完成。

    习惯了公司的开发模式,开发上面也没什么顾虑,我总是用我自己的方式来实现。同时空闲下来的时间就在csdn上面逛。慢慢的,我发现csdn上面的.net频道总是转载一个网站的文章,于是就多上了几次这个网站,慢慢的,发现这是个好网站,正是我所需要的一个网站,上面的资源太多了。不用我多说,大家也一定是想到这个网站了,就是“专注于.net”的cnblogs。 至此,它成了我每天上班开机第一个要上的网站,先是看首页适合自己的文章,再慢慢的看各个不同的系列文章,从中系统的学习新技术。

    由于我的开发总是比同事快一步,有时候不想看网上的文章了,就去自己找任务做。让我觉得有个跳跃性飞跃的一个任务是实现商品列表页。此页面能够按不同的条件进行检索,排序,还有不同的显示方式。开始我想用gridview 来实现,可是做了一半,发现要实现某些效果太难搞了,得写很复杂的绑定事件。于是上网苦苦搜索解决方法,网上大量的充斥的着一个列表控件Repeater。细细的看了文档,使用方式,觉得很是适合我使用,因为我最喜欢在前台写html源码了,不用在后台拼凑,而且性能很好,还有一个原因是大家都极立推荐的。搞了一天多,总算是把显示效果给弄出来了。其中底层的数据库读取是自己在页面上拼凑的sql语句,拼凑这个sql也花了不少时间。因为那时候存储过程我还是不习惯使用,要不一定把它扔存储过程里面去了,只要简单的处理一下参数就行了。

    显示有了,那剩下来的就是分页了,分页也有不少的显示效果,参考了一个他们之前写的分页脚本代码, 大几百行,有数据绑定,逻辑判断,html效果拼凑的,看得真累。于是我又上网找,功夫不负有心人啊,AspNetPager给我找到了,还是开源的,爽。先是学习使用方式,完全能够实现效果。在完成任务之后,又研究了一下其源码,之前没有真正意义上的写过自定义控件,算是第一次学习。同时参考了cnblogs上面不少的好文。

    这次的任务,让我学到了Repeater和AspNetPager这二个控件。

    后面的开发,基本上就没啥让我印像深刻的了。要有的话,那就是开发blog时,使用了我提出的三层架构,用代码生成器生成了大量代码,花了一个星期时间,模仿sina,完美的交差了。那是我真正意义上的第一个分层架构,基于代码生成器的项目。(blog除了用户和老系统有关联,其它地方都是隔离的,所以是整个项目是独立出来开发的).不过最后在整合的时候,由于开发时没有考虑路径的问题,所以最后在路径的问题上面花了不少时间。总体来说,我还是比较满意的,尤其是blog管理后台,只是前台设计有些别扭了。

    结束这blog开发,对于sqlservert和存储过程的应用,通过网上大量的讨论和自己的一些测试,也有了一定的心得提高。同时对于div和css,多了一些了解和使用。以前都是使用 table,对于div,不是很熟悉,css就更菜了。还有一个就是对于在线编辑器,之前也就是在《ASP.NET经典模块》接触过,知道几个常用的编辑器,从来没有深入的了解了。这次blog的开发,也着实好好的了解了一下fck,修改了其中的图片上传功能,以符合项目的需求。


  • 相关阅读:
    设置类库项目的程序集名称和默认命名空间
    网上购物系统(Task101)——业务逻辑层BLL(工厂模式实现热插拔)
    网上购物系统(Task102)——登录控件的使用(登录控件的基本配置)
    1.1.3 以类为单位的编程思想
    1.1.2 ADO.NET模型
    网上购物系统(Task100)——业务逻辑层BLL(面向接口的编程模式)
    ASP.NET(C#)命名规范(前缀)
    如果我说,类就是一个人,你会信吗?
    1.1.1 什么是ADO.NET
    [置顶] 编程就是用计算机语言写文章
  • 原文地址:https://www.cnblogs.com/luchaoshuai/p/1279860.html
Copyright © 2020-2023  润新知