﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-天空</title><link>http://www.cnblogs.com/skyblog/</link><description>图形学、文学、哲学、.NET、Java</description><language>zh-cn</language><lastBuildDate>Sun, 06 Jul 2008 01:29:19 GMT</lastBuildDate><pubDate>Sun, 06 Jul 2008 01:29:19 GMT</pubDate><ttl>60</ttl><item><title>ASP.NET中用HttpHandeler实现MVC模式。</title><link>http://www.cnblogs.com/skyblog/archive/2008/06/19/1226081.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Thu, 19 Jun 2008 09:26:00 GMT</pubDate><guid>http://www.cnblogs.com/skyblog/archive/2008/06/19/1226081.html</guid><wfw:comment>http://www.cnblogs.com/skyblog/comments/1226081.html</wfw:comment><comments>http://www.cnblogs.com/skyblog/archive/2008/06/19/1226081.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/skyblog/comments/commentRss/1226081.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/skyblog/services/trackbacks/1226081.html</trackback:ping><description><![CDATA[<p>MVC<span style="font-family: 宋体">模式是全世界最常用的体系模式。<br />
</span>MVC<span style="font-family: 宋体">共包括三个部分：分别是模型（</span>Model<span style="font-family: 宋体">）、视图（</span>View<span style="font-family: 宋体">）、控制器（</span>Controller<span style="font-family: 宋体">）。<br />
</span><span style="font-family: 宋体">模型</span><span style="font-family: 宋体">：表示</span>Web<span style="font-family: 宋体">应用程序的数据元素，用户可与这些数据元素进行交互。<br />
</span><span style="font-family: 宋体">视图</span><span style="font-family: 宋体">：指用户界面。<br />
</span><span style="font-family: 宋体">控制器：</span><span style="font-family: 宋体">充当应用程序视图对象和模型对象之间的中间对象，负责转发请求。<br />
</span><span style="font-family: 宋体">三者关系如下：</span></p>
<img alt="" src="http://www.pandaos.com/images/image007.gif" border="0" /><br clear="all" />
<p>MVC<span style="font-family: 宋体">类似于三层架构，但又不同于三层架构，</span>MVC<span style="font-family: 宋体">更适合于</span>Web<span style="font-family: 宋体">程序。下面是</span>Web<span style="font-family: 宋体">程序采用</span>MVC<span style="font-family: 宋体">后的访问流程图：<br />
<br />
<img alt="" src="http://www.pandaos.com/images/image008.gif" border="0" /><br />
</span><span style="font-family: 宋体">在</span>Java<span style="font-family: 宋体">中通常控制器采用</span>Servlet<span style="font-family: 宋体">，视图采用</span>JSP<span style="font-family: 宋体">，模型采用</span>JavaBean<span style="font-family: 宋体">；而在</span>.NET<span style="font-family: 宋体">平台中，控制器可以采用</span>HTTPHander<span style="font-family: 宋体">，视图采用</span>ASP.NET<span style="font-family: 宋体">，模型采用普通类。下面是一个简单的计算器，它采用</span>MVC<span style="font-family: 宋体">模式，并结合了三层架构。<br />
</span><span style="font-family: 宋体"><img alt="" src="http://www.pandaos.com/images/image006.jpg" border="0" /><br />
其中</span>view<span style="font-family: 宋体">表示视图层，</span>controller<span style="font-family: 宋体">表示控制器层，</span>model<span style="font-family: 宋体">表示模型层，在模型层中你还可以看到代表逻辑层的</span>BLL<span style="font-family: 宋体">文件，以及代表数据访问层的</span>DAL<span style="font-family: 宋体">文件。我们来看一下各部分代码，代码如下：<br />
</span>calculator.aspx<span style="font-family: 宋体">文件：<br />
</span><span style="color: blue">&lt;</span><span style="color: maroon">html</span> <span style="color: red">xmlns<span style="color: blue">="http://www.w3.org/1999/xhtml"</span> <span style="color: blue">&gt;<br />
</span></span><span style="color: blue">&lt;</span><span style="color: maroon">head</span> <span style="color: red">runat<span style="color: blue">="server"&gt;</span></span><span style="color: blue">&lt;/</span><span style="color: maroon">head</span><span style="color: blue">&gt;</span><span style="color: blue">&lt;</span><span style="color: maroon">body</span><span style="color: blue">&gt;</span><span style="color: blue">&lt;<span style="color: maroon">form</span> <span style="color: red">id</span><span style="color: blue">="form1"</span> <span style="color: red">runat</span><span style="color: blue">="server"&gt;<br />
</span></span>&nbsp;&nbsp;&nbsp; <span style="color: blue">&lt;<span style="color: maroon">div</span><span style="color: blue">&gt;</span></span><span style="font-family: 新宋体">算术计算器</span><span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 新宋体">第一个数：</span><span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">TextBox</span> <span style="color: red">ID<span style="color: blue">="txtNumA"</span> <span style="color: red">runat</span><span style="color: blue">="server"&gt;&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">TextBox</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;<br />
</span></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 新宋体">第二个数：</span><span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">TextBox</span> <span style="color: red">ID<span style="color: blue">="txtNumB"</span> <span style="color: red">runat</span><span style="color: blue">="server"&gt;&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">TextBox</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;<br />
</span></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 新宋体">操作：</span><span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Button</span> <span style="color: red">ID<span style="color: blue">="btnAdd"</span> <span style="color: red">runat</span><span style="color: blue">="server"</span>&nbsp;<br />
<span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000"><strong>PostBackUrl="~/controller/calculatorhandler.ashx"</strong></span></span></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red">Text<span style="color: blue">="</span></span><span style="color: blue; font-family: 新宋体">相加</span><span style="color: blue">"</span> <span style="color: blue">/&gt;&lt;/<span style="color: maroon">div</span><span style="color: blue">&gt;<br />
</span></span>&nbsp;&nbsp;&nbsp; <span style="color: blue">&lt;/<span style="color: maroon">form</span><span style="color: blue">&gt;</span></span><span style="color: blue">&lt;/</span><span style="color: maroon">body</span><span style="color: blue">&gt;<br />
</span><span style="color: blue">&lt;/</span><span style="color: maroon">html</span><span style="color: blue">&gt;<br />
这里要注意<span style="color: #ff0000"><strong>PostBackUrl</strong></span>属性，使用它向控制器提交请求。<br />
</span>result.aspx<span style="font-family: 宋体">文件：<br />
<font face="Verdana">&lt;script runat="server"&gt;<br />
&nbsp;protected void Page_Load(object sender, EventArgs e)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string r = this.Session["Result"].ToString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string a = this.Session["NumA"].ToString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string b = this.Session["NumB"].ToString();</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lblResult.Text = a + "+" + b + "=" + r;</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write("&lt;a href='calculator.aspx'&gt;返回&lt;/a&gt;");</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; }<br />
&lt;/script&gt;</font><br />
</span><span style="color: blue">&lt;</span><span style="color: maroon">html</span> <span style="color: red">xmlns<span style="color: blue">="http://www.w3.org/1999/xhtml"</span> <span style="color: blue">&gt;<br />
</span></span><span style="color: blue">&lt;</span><span style="color: maroon">head</span> <span style="color: red">runat<span style="color: blue">="server"&gt;<br />
</span></span><span style="color: blue">&lt;/</span><span style="color: maroon">head</span><span style="color: blue">&gt;<br />
</span><span style="color: blue">&lt;</span><span style="color: maroon">body</span><span style="color: blue">&gt;<br />
</span><span style="color: blue">&lt;<span style="color: maroon">form</span> <span style="color: red">id</span><span style="color: blue">="form1"</span> <span style="color: red">runat</span><span style="color: blue">="server"&gt;<br />
</span></span>&nbsp;<span style="color: blue">&lt;<span style="color: maroon">div</span><span style="color: blue">&gt;</span></span><span style="color: blue">&lt;<span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span> <span style="color: red">ID</span><span style="color: blue">="lblNote"</span> <span style="color: red">runat</span><span style="color: blue">="server"</span> <span style="color: red">Text</span><span style="color: blue">="</span></span><span style="color: blue; font-family: 新宋体">计算结果：</span><span style="color: blue">"&gt;&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span><span style="color: blue">&gt;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">&lt;<span style="color: maroon">br</span> <span style="color: blue">/&gt;<br />
</span></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">&lt;<span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span> <span style="color: red">ID</span><span style="color: blue">="lblResult"</span> <span style="color: red">runat</span><span style="color: blue">="server"&gt;&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;<br />
</span></span>&nbsp;&nbsp;&nbsp; <span style="color: blue">&lt;/<span style="color: maroon">form</span><span style="color: blue">&gt;</span></span><span style="color: blue">&lt;/</span><span style="color: maroon">body</span><span style="color: blue">&gt;</span><span style="color: blue">&lt;/</span><span style="color: maroon">html<br />
</span>calculatorhandler.ashx<span style="font-family: 宋体">文件：<br />
</span><span style="color: blue">using</span> System.Web.SessionState;<br />
<span style="color: blue">using</span> BLL;<br />
<span style="color: blue">using</span> Bean;<br />
<span style="color: blue">public</span> <span style="color: blue">class <span style="color: teal">CalculatorHandler</span> : <span style="color: teal">IHttpHandler</span>, <span style="color: teal">IRequiresSessionState<br />
</span></span>{<br />
&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">void</span> ProcessRequest (<span style="color: teal">HttpContext</span> context) {<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: teal">Calculator c = <span style="color: blue">new</span> <span style="color: teal">Calculator</span>();<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.NumberA = <span style="color: teal">Convert.ToDouble(context.Request.Form[<span style="color: maroon">"txtNumA"</span>]);<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.NumberB = <span style="color: teal">Convert.ToDouble(context.Request.Form[<span style="color: maroon">"txtNumB"</span>]);<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: green">//</span><span style="color: green; font-family: 新宋体">逻辑层对象<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: teal">CalculatorSystem cs = <span style="color: blue">new</span> <span style="color: teal">CalculatorSystem</span>(c);<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: green">//</span><span style="color: green; font-family: 新宋体">计算<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">double r = cs.Add();<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: green">//</span><span style="color: green; font-family: 新宋体">保存到数据库<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cs.Save();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: green">//</span><span style="color: green; font-family: 新宋体">准备向结果网页传输数据<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.Session[<span style="color: maroon">"Result"] = r;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.Session[<span style="color: maroon">"NumA"] = c.NumberA;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.Session[<span style="color: maroon">"NumB"] = c.NumberB;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.Response.Redirect(<span style="color: maroon">"~/view/result.aspx");<br />
</span>&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">bool</span> IsReusable {<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">get {</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">return <span style="color: blue">false</span>;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
calculator.cs<span style="font-family: 宋体">文件：<br />
</span><span style="color: blue">namespace</span> Bean{</p>
<p style="text-align: left" align="left">&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">class</span> <span style="color: teal">Calculator</span></span>&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">private <span style="color: blue">double</span> numberA;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">private <span style="color: blue">double</span> numberB;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">double</span> NumberA</span> {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">get { <span style="color: blue">return</span> numberA; }<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">set { numberA = <span style="color: blue">value</span>; }<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">double</span> NumberB<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">get { <span style="color: blue">return</span> numberB; }<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">set { numberB = <span style="color: blue">value</span>; }<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
calculatorBLL.cs<span style="font-family: 宋体">文件：<br />
</span><span style="color: blue">namespace</span> BLL<br />
{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; <span style="color: green">// TODO: </span><span style="color: green; font-family: 新宋体">业务逻辑层<br />
</span>&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">class</span> <span style="color: teal">CalculatorSystem<br />
</span></span>&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: teal">Calculator clcr = <span style="color: blue">null</span>;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">public CalculatorSystem(<span style="color: teal">Calculator</span> c)<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clcr = c;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">void</span> Insert()</span>&nbsp;&nbsp;{</p>
<p style="text-align: left" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="text-align: left" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">double</span> Add()<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">return clcr.NumberA + clcr.NumberB;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">void</span> Save()<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//保存到数据库<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>}</p>
<p>calculatorDAL.cs<span style="font-family: 新宋体">文件：</span></p>
<p style="text-align: left" align="left"><span style="color: blue">namespace</span> DAL<br />
{<br />
&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">class</span> <span style="color: teal">CalculatorDAO<br />
</span></span>&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">public CalculatorDAO()<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: green">//</span><span style="color: green"> TODO: </span><span style="color: green; font-family: 新宋体">数据库访问层</span> <span style="color: green">//<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: blue">public <span style="color: blue">void</span> InsertCalculator(<span style="color: teal">Calculator</span> c)<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: green">//</span><span style="color: green; font-family: 新宋体">插入到数据库<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
MVC<span style="font-family: 宋体">的目的是将模型（业务逻辑）和视图（页面展示）分离，可以结合三层架构灵活使用。<br />
另外控制层可以看作是逻辑层的一部分。<br />
</span><span style="font-family: 宋体">代码下载。</span></p>
<br />
<img src ="http://www.cnblogs.com/skyblog/aggbug/1226081.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37544/" target="_blank">[新闻]56被关一月 危机的是整个视频业</a>]]></description></item><item><title>第一章进入Microsoft.NET世界</title><link>http://www.cnblogs.com/skyblog/archive/2008/06/02/1212234.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Mon, 02 Jun 2008 07:24:00 GMT</pubDate><guid>http://www.cnblogs.com/skyblog/archive/2008/06/02/1212234.html</guid><wfw:comment>http://www.cnblogs.com/skyblog/comments/1212234.html</wfw:comment><comments>http://www.cnblogs.com/skyblog/archive/2008/06/02/1212234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/skyblog/comments/commentRss/1212234.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/skyblog/services/trackbacks/1212234.html</trackback:ping><description><![CDATA[<font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;从1946年德国工程师楚则（KonradZuse）第一次使用程序语言，到现在大约刚好一甲子（60年）的时间。在此期间，程序语言经历了从无到有，发展到了现在百家争鸣的历史新阶段。如果我们把这六十年放到一个白天里，那么一小时就有2.5年。照此推算，德国的楚则在午夜零点躲藏在巴伐利亚的阿尔皮斯山脉（BavarianAlps），开始使用程序语言做一些无聊的事情比如象棋等，到凌晨一点十分左右ShortCode开始将程序语言用于电子计算装置，那还是一个靠手工编译的语言，到凌晨两点，工作在雷明顿街的GraceHopper改善了编译方法，发明了一种叫&#8220;MATH-MATIC&#8221;系统，这是最早的比较成熟的程序语言编写器，它大大方便了程序的编写工作。<br />
&nbsp;&nbsp;&nbsp;&nbsp;直到凌晨四点二十分左右，我们的主角开始登场了，这就是第一个面向科学计算的高级计算机语言－Fortran语言，它是由JohnBackus领导的小组完成的，后来他们将这个语言提交给了ALGOL公司组织。到凌晨五点的时候LISP语言和面向数据系统的COBOL语言相继诞生，随后的几小时编程语言基本上停留在科学等专业领域。直到凌晨10点钟C语言产生，作为程序语言的里程碑，C语言有着划时代的意义，此后大部分复杂低级的程序语言逐渐被C语言取代。又过了几小时，大约在中午1点半时SmallTalk80出现了，它也带来了变革，它将程序语言引入面向对象领域。大约下午4点的时候划时代的C++登场了，随后的很长一段时间它都统治着程序界，到晚上8点左右Java的出现似乎更进一步体现了自己的个性－面向对象，此时程序界开始分化，抽象语言和底层语言（C语言等）开始平分江山互不相干，Java也开始在自己的领域称霸。<br />
&nbsp;&nbsp;&nbsp;&nbsp;C＃大约出现在晚上10点左右，起初它似乎并没有引起人们的注意，因为人们还在为C++的深沉和Java的博学争吵着。这个结合了C++的深沉和Java的博学的混血儿能否带领人们迎接即将到来的新的黎明似乎还有待考验......</font> 
<img src ="http://www.cnblogs.com/skyblog/aggbug/1212234.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37543/" target="_blank">[新闻]李开复：中文搜索是谷歌战略核心</a>]]></description></item><item><title>《C#和.NET3.0第一步》勘误、建议、留言</title><link>http://www.cnblogs.com/skyblog/archive/2008/05/29/1210217.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Thu, 29 May 2008 11:09:00 GMT</pubDate><guid>http://www.cnblogs.com/skyblog/archive/2008/05/29/1210217.html</guid><wfw:comment>http://www.cnblogs.com/skyblog/comments/1210217.html</wfw:comment><comments>http://www.cnblogs.com/skyblog/archive/2008/05/29/1210217.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/skyblog/comments/commentRss/1210217.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/skyblog/services/trackbacks/1210217.html</trackback:ping><description><![CDATA[本书共分三篇，每篇十章，共三十章，兼顾理论和实际应用。三篇承上启下地讲解了VC#的开发技术和应用技巧。.<br />
第一篇介绍.NET Framework 3.0开发框架和C#语言的基础知识，透彻地讲解了面向对象开发思想在C#中的贯彻、基本的WinForm窗体编程模型、文件读写技术和注册表操作，使读者在学习完本篇之后能够使用WinForm进行小型的应用开发。<br />
第二篇包含了C#语言相关的高级概念，如集合对象、泛型、程序集、多线程等等，重点讲述了VC#中数据处理的相关技术，如ADO.NET编程、数据集、数据绑定、DataGridView控件、打印和报表等，同时，对面向对象的分析与设计、组件技术、三层架构，以及最新的WWF（工作流）都作了深入浅出的讲解和应用示范。..<br />
第三篇主要关注网络方面的知识，介绍了C#点对点通讯编程、Internet访问，重点讲述了Web开发的相关模型，包括ASP.NET Web开发、ASP.NET Ajax、Web服务等，并引入最新的面向服务编程模型WCF和面向描述编程模型WPF，讲解了它们的概念和实际运用，同时，对与实际项目开发密切相关的安装与部署技术、单元测试和重构技术，以及代码的加密和混淆技术都作了讲解，使读者能够了解企业级网络应用的设计与开发。<br />
本书在讲解具体的知识点时均采用直观短小的实例进行讲述，对书中的难点和疑点均采用相关的生活案例或图形图像来描述，使读者更容易掌握其技术的本质。在讲透具体的技术点后，则会给出项目级的实例来展示这些技术在实际中的运用，使读者能够对相关的企业级开发做到融会贯通。<br />
本书适用于C#和.NET初学者、开发者和讲授C#和.NET的教师，也可作为大学及计算机培训班的C#和.NET课程教材。...&nbsp;<br />
<br />
<font face="Verdana">本书适合零基础读者，本书旨在作为C#企业级开发入门书籍。<br />
读完本书你将能够进行中小型.NET企业级软件的开发。<br />
</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--作者<br />
你可通过下面网站购买：<br />
<font face="Verdana"><a href="http://www.china-pub.com/39914">http://www.china-pub.com/39914</a><br />
</font>也可以访问本书技术支持网站:<br />
<a href="http://www.pandaos.com">www.pandaos.com</a><br />
<br />
   <img src ="http://www.cnblogs.com/skyblog/aggbug/1210217.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37542/" target="_blank">[新闻]《星际争霸2》新图：黑暗圣堂武士Zeratul</a>]]></description></item><item><title>看吧－－2004年第一篇小小小说</title><link>http://www.cnblogs.com/skyblog/archive/2004/12/07/74022.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Tue, 07 Dec 2004 10:21:00 GMT</pubDate><guid>http://www.cnblogs.com/skyblog/archive/2004/12/07/74022.html</guid><wfw:comment>http://www.cnblogs.com/skyblog/comments/74022.html</wfw:comment><comments>http://www.cnblogs.com/skyblog/archive/2004/12/07/74022.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/skyblog/comments/commentRss/74022.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/skyblog/services/trackbacks/74022.html</trackback:ping><description><![CDATA[<p>很久没写东西了<img height="20" src="http://www.cnblogs.com/Emoticons/hitwall.gif" width="25" align="absMiddle" border="0" /><img height="20" src="http://www.cnblogs.com/Emoticons/hitwall.gif" width="25" align="absMiddle" border="0" />
<br/>《看吧》 
<br/>
<br/>你看到了吗？ 
<br/>看什么? 
<br/>那些...就在对面街道上的..看吧总是这样。 
<br/>哦，没有看到，我看到一个小女孩在抱着一棵树。 
<br/>你再仔细看看，很可怕的。 
<br/>哦，看到了，你说抢东西的那个小偷吗？ 
<br/>不是！ 
<br/>不如我们下去吧。 
<br/>我还是看不到，你能解释清楚吗。 
<br/>我们还是下去吧，不下去可能要有麻烦了。 
<br/>是吗？对了，如果下去我大概能看到了吧？ 
</p>
<p>不能，也许你该好好睡一觉，明天再过来吧。 
<br/>要是明天还看不到呢。 
<br/>不会的，我们下去吧，走吧！ 
<br/>可是我还是不明白！ 
<br/>我也不是很明白。 
<br/>
<br/>2004.12.7 BarRen @ 
</p><img src ="http://www.cnblogs.com/skyblog/aggbug/74022.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37541/" target="_blank">[新闻]FriendFeed介绍</a>]]></description></item><item><title>今天扔了这么多来首歌－listen to your heart</title><link>http://www.cnblogs.com/skyblog/archive/2004/12/07/73998.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Tue, 07 Dec 2004 09:20:00 GMT</pubDate><guid>http://www.cnblogs.com/skyblog/archive/2004/12/07/73998.html</guid><wfw:comment>http://www.cnblogs.com/skyblog/comments/73998.html</wfw:comment><comments>http://www.cnblogs.com/skyblog/archive/2004/12/07/73998.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/skyblog/comments/commentRss/73998.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/skyblog/services/trackbacks/73998.html</trackback:ping><description><![CDATA[listen to your heart ! 
<br/>
<object codeBase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,42,0" height="295" width="425" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" style="WIDTH: 425px; HEIGHT: 295px">
<param value="http://flash.eng-corner.com/FSong01/FSong049.swf" name="movie" />
<param value="high" name="quality" />
<param name="bgcolor" /></object><img src ="http://www.cnblogs.com/skyblog/aggbug/73998.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37541/" target="_blank">[新闻]FriendFeed介绍</a>]]></description></item><item><title>权力结构确实经由信息垄断来分级的</title><link>http://www.cnblogs.com/skyblog/archive/2004/12/07/73909.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Tue, 07 Dec 2004 06:53:00 GMT</pubDate><guid>http://www.cnblogs.com/skyblog/archive/2004/12/07/73909.html</guid><wfw:comment>http://www.cnblogs.com/skyblog/comments/73909.html</wfw:comment><comments>http://www.cnblogs.com/skyblog/archive/2004/12/07/73909.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/skyblog/comments/commentRss/73909.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/skyblog/services/trackbacks/73909.html</trackback:ping><description><![CDATA[权力结构确实经由信息垄断来分级的，
<br/>处于高层的拥有更多的信息以掌握控制下层，主观上肯定阻碍信息的传播，所以很多时候你处于劣势可
<br/>能不是能力不够而是信息缺乏。
<br/>
<br/>抛弃你有什么惊天地泣鬼神的方法，如果在信息不完整的情况下做计划或规划，大概只能计划三五月的东西，因为你看不到更远的趋势，那所谓远期计划更象是远期幻想，虚无的，举例说一下，一个萤火虫在黑夜里如何做100
<br/>公里的行程计划？它只能照亮比如20厘米。
<br/>可能你会隐约看到远处有座闪亮的标志，准备去追寻标志物（比如钱或名或者其他什么的），但是你知道在你和标志物之间有什么吗？或许是条深不可测的鸿沟，也可能是高山峻岭，都不是你想要也不愿意忍受的，但是你却会身
<br/>不由己地上路，糟糕的是远处看到的标志物真的到你眼前，八九会很失望，因为想像中的东西总是比实际美好许多，正如你现在天天假如有足够多的钱一样，可当你真的拥有了，也不过如何，现在生活加上一串数字，原来的烦恼
<br/>换个形式出现罢了，你还是你，依旧善恶交加。
<br/>当然最糟糕的是，那标志物可能本来就是假的，一些未知因素基于自己生存的压力设置了满足他需要的一个标志物，目的就是引你上钩，然后一旦你上了圈套，呵呵，剩下可就不由你做主了，最终榨干你的所有，以维持他风烛残
<br/>年的最后挣扎。
<br/>
<br/>（选自51CMM）<img src ="http://www.cnblogs.com/skyblog/aggbug/73909.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37541/" target="_blank">[新闻]FriendFeed介绍</a>]]></description></item><item><title>有感软件和哲学、文学的关系</title><link>http://www.cnblogs.com/skyblog/archive/2004/11/27/69643.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Sat, 27 Nov 2004 05:25:00 GMT</pubDate><guid>http://www.cnblogs.com/skyblog/archive/2004/11/27/69643.html</guid><wfw:comment>http://www.cnblogs.com/skyblog/comments/69643.html</wfw:comment><comments>http://www.cnblogs.com/skyblog/archive/2004/11/27/69643.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/skyblog/comments/commentRss/69643.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/skyblog/services/trackbacks/69643.html</trackback:ping><description><![CDATA[<P>很多搞软件设计的人都爱好文学，我也是其中之一。<br/>其实你会发现由代码架构软件，和有文字构成小说是多么的相似。<br/>《设计模式》一书开篇不是举了莎士比亚戏剧模式的例子吗，这并不是偶然。<br/>设计模式从本质上来自建筑和小说的双重构想。<br/><br/>说多了，今天主要是上传了一篇哲学文章《逻辑哲学论》。<br/>不要小看这篇文章，在软件设计领域广泛应用的“面向对象技术”可是<br/>由这篇文章提出的，它已经改变了整个软件设计领域，并且人们还在挖掘它的价值。<br/><br/>文章在我的BLOG的“哲学相关”栏目里。<br/><br/>软件正在承载着文学的使命。<br/>Photoshop在改变着人们的审美....<br/>游戏在启迪完整的人生价值观....<br/>应用软件改变着人们生活方式.....
</P><img src ="http://www.cnblogs.com/skyblog/aggbug/69643.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37540/" target="_blank">[新闻]微软在台北发布新色鼠标产品</a>]]></description></item><item><title>这个博客的确快多了</title><link>http://www.cnblogs.com/skyblog/archive/2004/11/25/68790.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Thu, 25 Nov 2004 11:46:00 GMT</pubDate><guid>http://www.cnblogs.com/skyblog/archive/2004/11/25/68790.html</guid><wfw:comment>http://www.cnblogs.com/skyblog/comments/68790.html</wfw:comment><comments>http://www.cnblogs.com/skyblog/archive/2004/11/25/68790.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/skyblog/comments/commentRss/68790.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/skyblog/services/trackbacks/68790.html</trackback:ping><description><![CDATA[<P>希望一直能这样快。</P><img src ="http://www.cnblogs.com/skyblog/aggbug/68790.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37539/" target="_blank">[新闻]Hitwise:雅虎流量来自Google搜索比来自雅虎搜索的还多</a>]]></description></item></channel></rss>