莫名其妙学了IT,在课堂上学了C,C++,自学了C#,也做了一些网站项目,学习过程,写了厚厚的几本笔记本,却没写博文的习惯,前几天,有同学问学习.net的建议。其实我懂的也不多,也给了一些个人见解,主要是基础性的,在这里记录一下。
.Net学习
1、 语言,我用的是C#,基础语法跟C和C++都一样,容易学,有时候的数学问题,能锻炼思维,不懂也不要急,面向对象要学好,类,函数,调用函数要熟练。【学习资源:传智播客.Net里面的C#视频,个人所用软件VS2010】
2、 ADO.NET ,ADO.NET是与数据源交互的.NET技术 ,可以通过学习Winform或者WPF这样的窗体程序去熟悉运用,winform感觉偏向于拖控件,WPF就偏向于手写代码,标签一样的东西,有点像HTML,xml
就是长这个样子的东西,现在用得很少,学这个过程可以学习使用三层架构,数据库操作【感觉学这部分,熟悉了三层架构,数据库连接使用】
3、 说一下三层架构,也就是DAL(数据访问层),BLL(业务逻辑层),UI(表现层),三层架构很重要的作用是解耦,也就是解除耦合度,让任何一层发生变化都不会影响到另外一层。数据访问层是用于和数据库交互的,也就是实现数据的增删查改。业务逻辑层是UI层和DAL层之间的桥梁,也就是经过验证,计算等业务规则才决定是否处理数据。UI层就是展示数据的。好像说得太抽象,借用网上的一个例子:
一个饭店,有三种人:服务员(表现层),厨师(业务逻辑层),采购员(数据访问员)
服务员:只管接待客人;
厨师:只管做客人点的菜;
采购员:只管按客人点菜的要求采购食材;
他们各负其职,服务员不用了解厨师如何做菜,不用了解采购员如何采购食材;厨师不用知道服务员接待了哪位客人,不用知道采购员如何采购食材;同样,采购员不用知道服务员接待了哪位客人,不用知道厨师如何做菜。
他们三者是如何联系的?
比如:厨师会做:炒茄子、炒鸡蛋、炒面——此时构建三个方法(cookEggplant()、cookEgg()、cookNoodle())
顾客直接和服务员打交道,顾客和服务员(UI层)说:我要一个炒茄子,而服务员不负责炒茄子,她就把请求往上递交,传递给厨师(BLL层),厨师需要茄子,就把请求往上递交,传递给采购员(DAL层),采购员从仓库里取来茄子传回给厨师,厨师响应cookEggplant()方法,做好炒茄子后,又传回给服务员,服务员把茄子呈现给顾客。这样就完成了一个完整的操作。
在此过程中,茄子作为参数在三层中传递,如果顾客点炒鸡蛋,则鸡蛋作为参数(这是变量做参数)。如果,用户增加需求,我们还得在方法中添加参数,一个方法添加一个,一个方法设计到三层;何况实际中并不止设计到一个方法的更改。所以,为了解决这个问题,我们可以把茄子、鸡蛋、面条作为属性定义到顾客实体中,一旦顾客增加了炒鸡蛋需求,直接把鸡蛋属性拿出来用即可,不用再去考虑去每层的方法中添加参数了,更不用考虑参数的匹配问题。
具体的在用的时候你就能体会到【在传智播客的.NET视频里讲得很详细】
4、 数据库,我用的是SQL SERVER2008,数据库其实没那么难,学会简单的增删查改就够用了,在做的过程中遇到比较复杂的情况,再上网查查就好,用着用着就熟了。【数据库的学习视频,网上有一套挺好的…我放网盘了】
5、 HTML,我学的时候是在http://www.w3school.com.cn/
先看完HTML,HTML5可以先不看,记一些常用标签,也不用特意记,也是用着就熟了,着重理解div的作用,学好div,学好怎么布局。
6、 CSS,CSS3也可以先不学,其实就是HTML决定页面里面有什么东西,CSS决定这些东西长什么样(颜色,位置,大小…)重点学好padding(内边距),margin(外边距),其实怎么说呢,也挺好理解的,例如两个DIV,你可以理解为两个物体,额…就像一个装着电脑的箱子,为了防震,会在里面放泡沫,然后电脑和箱子之间就有了间距(泡沫的距离),这段距离就是内边距,然后外边距,那就是我跟你的距离咯,就是两个不太相关的物体间的距离,不对,我不是物体,额,也不对,什么鬼,就是如果你有很多个装着电脑的箱子,两个箱子之间的距离就是外边距,(语文没学好,就只能说到这了),还有一个也用得多的是float,浮动,自己看吧,也不难【建议HTML两天学完,CSS也差不多,不要觉得很多都不会,直接用吧,边用边学你才知道那些东西是怎么用的】
7、 学完HTML,CSS基础,是基础!!!那么直接去用起来吧,怎么用,先去看看别人怎么用咯。下载一个火狐浏览器(个人比较习惯用这个)
打开浏览器,右上角选附加组件,在里面搜索firebug,然后安装。装完重启浏览器。有什么用呢,按键盘F12看看,是这样的
百度的页面代码就显示出来了,左边的是HTML,右边是css,看看别人怎么写的,自己写写看…可以先看静态的,<script>的是javascript的代码,可以先忽略。
8、 前面的是静态的页面,然后学习Javascript,还有dom啥的,可以控制页面动起来,有点烦…不要紧,打点基础,后面学习jQuery
9、 jQuery,是javascript的封装,很多东西都简单化了,所以JavaScript打一下基础就好。用jQuery吧。【8、9也可以在W3School学】
看JavaScript,HTML DOM可以了解,然后学jQuery,(jQuery mobile可以不学,可以用来写手机页面的后台管理页面的,简洁)
10、 Ajax,作用是局部刷新数据,我是看别人的代码学的,然后过程遇到不懂的再上网查,你也可以直接在这个网站学,理解好get,post
11、 Json,存数据的,数据库里取出来的数据是dataset,然后转换为JSON。额…怎么说呢,js取出数据,传到一般处理程序里面处理,一般处理程序处理完返回结果,然后js可以再控制数据显示到界面。
了解完这些,那么开始做吧,不过更建议的是边做边学,我自己是用了十天时间,学完了html css js jquery ajax json然后过程中写了三个页面,登录,注册,修改用户信息。是十天完整的时间,从早到晚,每天最少对着电脑十个小时,其实也只能说是入门,了解了。后面在项目中慢慢强化不懂的知识。个人建议不能没目的的学习,要有计划,什么时候学完哪一部分的内容,边做边学吧,单纯的在学某个知识点不够的,只有在做的时候你才知道这些东西怎么用的,怎么把你学的各种知识结合起来。
其实,想法很重要,你有什么是想做的,你想做个什么系统?什么网站,有想法很重要,也能激励着你去学相关知识。上面的知识是包含前台和后台的,也只是基础,但是也够了。如果更喜欢设计的话,偏向前台吧,设计页面,学学PS,然后用好HTML,CSS,JQuery…
最后,其实上面的东西真的不难…不信你自己试试咯。还有,得注意身体,跑跑步呗,挺好的。就这样咯,写的第一篇文章,也有说得不太好的地方,其实我自己会的也不多。写得有点严肃了,自己都不太喜欢,哈哈…Bye