首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

牛腩视频之系统小结

2013-10-08 
牛腩视频之系统总结牛腩通过63集视频向我们展示了制作一个网站的全过程,所谓麻雀虽小但五脏俱全。作为初学

牛腩视频之系统总结

       牛腩通过63集视频向我们展示了制作一个网站的全过程,所谓麻雀虽小但五脏俱全。作为初学者,我很乐意剖析并总结这些知识点,点成线,线成网,让它们变成我的东西,融于我的知识,我编程的生命中。

 

        废话不多说,让我们看看他都讲了什么?

 

一、文档的编写。(牛腩视频第02~05集)

 

         刚才已经说了,牛腩向我们展示的是一个制作网站的全过程,所谓全过程,作为一个网站的开发,前期的文档驱动必不可少的。

 

         因为网站比较小,而且又是一个人在编写,所以,也许牛腩向我们展示的文档编写可能不会那么严格规范,但是还是那句话,该有的都有了,我们也能在后期的代码编写中,反复看到牛腩返回去参照文档去做,可见文档的重要性。其实在学C/S的时候,已经过多阐述了文档的重要性,在这里不赘述了。在这里我主要根据牛腩讲师的文档进行简单说明。

 

 牛腩视频之系统小结

 

 

二、数据库实现,并编写D层代码。(牛腩视频第06~16集)

 

          在这个阶段涉及到了很多数据库的知识。涉及到SQL语句创建表,编写SQLHelper,防SQL注入,主外键,触发器,存储过程等知识点。

 

          1、创建数据库和表

   

          建表和库的两种方式:

 

                          牛腩视频之系统小结

 

       实例对比:

 

        使用SQL Server2008建表的示例图:

 

                                   牛腩视频之系统小结

 

         使用SQL语句建表的示例图:

 

                                                             牛腩视频之系统小结 

 

         小结:前面已经说了一些这两种方法的优缺点了,在这里就说一下我自己的理解,因为之前做的系统一直很小,我又很懒,所以一直使用SQL Server2008直接建库和表,感觉挺麻烦的,因为很多字段都是重复性的,而且我又需要手动去修改和做,有些自己想要添加的功能,却找不到在哪设置,但是这次跟着牛腩老师敲就不一样了,感觉还是直接写SQL语句简单方便,而且实用性很强,尤其是需要创建大量表格的时候,工作量可想而知,但是如果使用SQL语句,很多都可以粘贴复制过来,就减少了大半的工作量了,而且感觉直接写SQL语句建表,好专业哦,哈哈,作为一个编程人员,这绝对是必备技术,所以,在这里建议同学们在以后的数据库中设计时,多多使用SQL语句,真的很方便好用哦。

 

        2、编写SQLHelper,防SQL注入

 

       SQLHelper是什么?

 

         SqlHelper是用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。

 

                                           牛腩视频之系统小结

 

          小结:虽然之前用过SQLHelper,但是是直接用的,没有SQLHelper的演化过程,牛腩老师在这里带着我们做了一遍SQLHelper的制作过程,让我对SQLHelper有了一个更加深入的理解,提炼加工,整合架空,SQLHelper更给我一种框架的感觉,让参数,连接字符串从SQLHelper中过一遍,我们就可以实现数据库连接和增删改查的操作了,解耦在这里体现的很彻底啊。

 

          另外,我们还在这里提到了SQL注入的问题,somebody想要盗取或是破坏我们的程序时,就会使用sql语句的相关语句,混淆命令,为了防止这种情况的发生,我们在这里采用了SQL参数查询的方式避免这种行为,在这里就不累述,我会在后续的文章中专门写一篇关于SQL注入的问题,敬请关注我的后续文章。

 

          3、主外键,触发器,存储过程的使用

 

         主外键(主要是保持数据的完整性和一致性):

 

                    牛腩视频之系统小结

 

         触发器(一种特殊类型的存储过程):

 

         触发器是不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活,在牛腩新闻发布系统中,我们通过触发器,实现删除类别下的新闻和评论,实现了数据库中相关表的级联更改。

在这里值得注意的是,触发器是基于一个表创建的,但是可以针对多个表进行操作,而存储过程则是基于数据库创建的。

 

         示例(删除类别触发器的代码):

 

USE [newssystem]GO/****** Object:  Trigger [dbo].[trigCategoryDelete]    Script Date: 08/23/2013 14:52:18 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author:                张薄-- Create date: 2013-8-7 14:50-- Description:        删除类别触发器-- =============================================ALTER TRIGGER [dbo].[trigCategoryDelete]   ON  [dbo].[category]   instead of DELETEAS BEGINdeclare @caId intselect @caId=id  from deleted --删除评论delete comment where newsId in(select newsId from news where caId =@caId)--删除新闻delete news where caId =@caId--删除类别delete category where id =@caId END

 

         存储过程:

 

         大家都知道SQL语句的增删改查吧,那么我认为存储过程就是一组SQL语句的组合,其用途也是对数据库进行相应操作,内容也是增删改查,不过就是组合后对单个或多个表的的增删查改。而且存储过程第一次执行编译后,编译好的代码就会存储在高速缓存中便于调用,提高了代码的执行效率。

 

           示例(取出最新十条新闻的代码)

 

USE [newssystem]GO/****** Object:  StoredProcedure [dbo].[procNewsSelectNewNews]    Script Date: 08/23/2013 15:31:04 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author:                张薄-- Create date: 2013-8-8 8:55-- Description:        取出最新10条新闻(所属分类,新闻标题,发布时间)-- =============================================ALTER PROCEDURE [dbo].[procNewsSelectNewNews]ASBEGINselect top 5 n.id ,n.title  ,n .createTime ,c .name,c.id as caIdfrom news ninner join category c on n .caId =c .id order by n .createTime descEND

 

 

 三、三层架构(牛腩视频第17集)

 

          在B/S的开发中我们还应用到了三层架构的思想。Web表现层,数据访问层,还有中间的业务实现层。真正的实现了三层架构,每一层独立,就比如我们做新闻发布系统,一开始只是实现了数据库和数据访问层的代码,然后根据D层的接口,实现B层的业务处理,最后的Web表现层,根据D层的接口,调用B层相应的方法,并传递相应参数。

 

           因为之前已经系统的学过三层的知识了,在这里不赘述,有兴趣的可以看我之前的博客(《三层架构简介》),在这里只是简单的提一下。

 

四、前台界面设计(牛腩视频第17~35集)

 

     详见博文:

 

   《CSS的基本认识》

   《div,css,html ,table 各种认识和组合对比》

   《比较div+css 和table》

 

五、整合页面(牛腩视频第36~61集)

 

     详见博文:

 

   《初识JavaScript,Ajax,jQuery,并比较三者关系》

 

 

六、发布(牛腩视频第62集)

 

         网站发布,着实费了我一番功夫,也请了师傅来帮忙,不过还好,终于成功了。其中有两篇博客在我发布网站的过程中起到了很大的作用。特此贴出来,分享给大家,写的很详细具体哦!

 

       网站发布篇:《网站的发布和iis部署》;

       网站排错篇:《网站发布图解》

 

 

        刚看完视频的时候,就感觉自己只完成了一半的任务,学习成果没有颗粒归仓,没有总结,就不能称之为学习,所以着实花费了几天的时间总结了牛腩中出现的知识点,也许学习到的还远远不够,但是,收获是丰盛的,期待Web开发之旅。

22楼bemavery昨天 21:27
真快啊 ,都总结完了,总结的很详细
21楼jly4758昨天 21:12
总结的好到位。。努力学习中
20楼wangyongxia921昨天 21:05
张博,威武,呵呵。
19楼liu765023051昨天 20:30
牛腩发布系统的再现。
Re: caozhangyingfei0109昨天 20:38
回复liu765023051n哈哈,多来光顾啊
18楼liu_yujie2011com昨天 17:43
在总结中学习,相信你会走的更好!
17楼hejingyuan6前天 21:56
你这篇博客写的太帅了,特别特别棒呀
Re: caozhangyingfei0109昨天 08:37
回复hejingyuan6n哇哦,说的我都脸红了。我觉得你的每篇博客写的都很用心啊,我正在向你学习!
16楼liujiahan629629前天 21:55
很好哈,总结的很详细哈!
15楼liutengteng130前天 20:25
总结的很详细啊。学习。
14楼hanxuemin12345前天 19:15
总结的很详细,很全面呀,学习了
13楼kanglix1an前天 09:04
学习了,加油
12楼wj80233天前 21:18
很好的学习方式,学习了!
11楼zllaptx48693天前 20:44
总结的不错,很是详实~~~
10楼ironxue3天前 19:37
总结得很详细啊,学习了。
9楼tang_huan_113天前 16:16
总结得很全面,把视频总说到的都详细的总结到了!加油
8楼lfmilaoshi4天前 20:33
总结这些知识点,点成线,线成网,让它们变成我的东西,融于我的知识,我编程的生命中。n这里最重要的环节是,要编成网。
7楼han_yankun20094天前 19:39
学习的线路清晰可见, 值得参考学习
6楼zhang_xinxiu4天前 18:47
很强大……
5楼zwk6265424174天前 08:07
总结的挺详细的,不错。
4楼yudandan105天前 21:26
总结的可真全面
3楼leimengyuanlian5天前 19:23
麻雀虽小,五脏丰富着呢
2楼xjc12780032625天前 18:59
学习了
1楼hy6688_5天前 14:36
收获很大 啊

热点排行