代码改变世界

艾伟_转载:用C#实现基于TCP协议的网络通讯

2011-08-29 00:20 by 狼人:-), 202 阅读, 0 推荐, 收藏,
摘要:TCP协议是一个基本的网络协议,基本上所有的网络服务都是基于TCP协议的,如HTTP,FTP等等,所以要了解网络编程就必须了解基于TCP协议的编程。然而TCP协议是一个庞杂的体系,要彻底的弄清楚它的实现不是一天两天的功夫,所幸的是在.net framework环境下,我们不必要去追究TCP协议底层的实现,一样可以很方便的编写出基于TCP协议进行网络通讯的程序。 要进行基于TCP协议的网络通讯,首先必须建立同远程主机的连接,连接地址通常包括两部分——主机名和端口,如www.yesky.com:80中,www.yesky.com就是主机名,80指主机的80端口,当然,主机名也可以用IP地... 阅读全文

艾伟_转载:从MySpace基于.NET平台的六次重构经历,来感受分布式

2011-08-29 00:20 by 狼人:-), 185 阅读, 0 推荐, 收藏,
摘要:Myspace和Facebook都是很优秀的社交类网站,它们拥有的用户和fans之多,大家都很清楚。 Myspace是一个基于.NET平台的,而Facebook更多是基于LAMP的。 我们来看看MySpace配合.NET+Windows Server 2003+Sql Server 2000/2005+IIS怎么创造传奇的 文章正文如下: 在每个里程碑,站点负担都会超过底层系统部分组件的最大载荷,特别是数据库和存储系统。接着,功能出现问题,用户失声尖叫。最后,技术团队必须为此修订系统策略。虽然自2005年早期,站点账户数超过7百万后,系统架构到目前为止保持了相对稳定,但MyS... 阅读全文

艾伟_转载:.NET 4.0 Beta2中的BigInteger和Complex类

2011-08-29 00:20 by 狼人:-), 154 阅读, 0 推荐, 收藏,
摘要:.NET4.0 Beta2中提供了新的System.Numerics命名空间,对应于System.Numerics.dll。该命名空间下就两个类BigInteger和Complex,我们来简单了解下这两个类的用法。 BigInteger:任意大小的带符号整数 1.Int64, SByte, UInt16, UInt32, and UInt64这些都有一个MinValue和MaxValue属性。而BigInteger没有这两个属性,因为它没有大小限制。2.不可变的类型.3.由于他没有大小限制,理论上当它足够大的时候会出现OutOfMemoryException异常. BigInteger初始化 阅读全文

艾伟_转载:C#语言基础常见问题汇总

2011-08-29 00:20 by 狼人:-), 146 阅读, 0 推荐, 收藏,
摘要:概述 1、什么是C#? C#是Microsoft公司设计的一种编程语言。它松散地基于C/C++,并且有很多方面和Java类似。 Microsoft是这样描述C#的:“C#是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言。C#(读做‘Csharp’)主要是从C/C++编程语言家族移植过来的,C和C++的程序员会马上熟悉它。C#试图结合Visual Basic的快速开发能力和C++的强大灵活的能力。” 2、如何开发C#应用程序? .NET SDK包括了C#命令行编译器(csc.exe),下一个版本的Visual Studio (Visual Studio... 阅读全文

艾伟_转载:疑惑?改良? 从简单工厂到工厂方法

2011-08-29 00:20 by 狼人:-), 147 阅读, 0 推荐, 收藏,
摘要:写在前面 最近一段时间在研究有关设计模式方面的文章,拜读了TerryLee以及吕震宇两位老师所写的设计模式方面的系列文章,收获颇丰,也让我对OOP,OOD有了新的理解和认识,不过在看到工厂方面的几篇文章时,却总有个地方想不通,望各位老师专家能替在下答疑解惑,以下是自己对工厂模式的一些理解以及提出的一种改良方案,不知道是否有人提出过类似的方案,如有雷同纯属巧合。有说得不对的地方还请批评指正。 从简单工厂说起 严格来讲简单工厂并不属于GOF的23个设计模式之一,但它之所以存在而被人们广泛认知的原因,我想是由于它在一定程度上简化了工厂方法(Factory Method)与抽象工厂(Abst... 阅读全文

艾伟_转载:C#来创建和读取XML文档

2011-08-29 00:20 by 狼人:-), 148 阅读, 0 推荐, 收藏,
摘要:扩展标记语言XML(eXtensible Markup Language),是由W3C组织制定的。做为用于替代HTML语言的一种新型的标记语言,XML内部有着很多基本标准,XML就是通过与这些相关标准地结合,应用于科学计算、电子出版、多媒体制作和电子商务的。C#作为一种新型的程序语言,是.Net框架的一个重要组成部分,他和XML的关系颇深。本文就从一个方面来探讨一下这二者的关系。即:看用C#如何来创建和读取XML文档。 一.本文程序设计和运行的软件环境 (一)微软公司视窗2000服务器 (二).Net FrameWork SDK Beta 2 二.C#创建XML文档 在本文中我... 阅读全文

艾伟_转载:在C#中实现3层架构

2011-08-29 00:20 by 狼人:-), 179 阅读, 0 推荐, 收藏,
摘要:这篇文章讨论如何在c#中实现3层架构,使用MS Access数据库存储数据。在此,我在3层架构中实现一个小型的可复用的组件保存客户数据。并提供添加,更新,查找客户数据的功能。 背景 首先,我介绍一些3层架构的理论知识。简单说明:什么是3层架构?3层架构的优点是什么? 什么是3层架构? 3层架构是一种“客户端-服务器”架构,在此架构中用户接口,商业逻辑,数据保存以及数据访问被设计为独立的模块。主要有3个层面,第一层(表现层,GUI层),第二层(商业对象,商业逻辑层),第三层(数据访问层)。这些层可以单独开发,单独测试。 为什么要把程序代码分为3层。把用户接口层,商业逻辑层,数据访问... 阅读全文

艾伟_转载:浅析IHttpModule和IHttpHandler

2011-08-29 00:20 by 狼人:-), 172 阅读, 0 推荐, 收藏,
摘要:最近开发中涉及到一些使用IHttpModule和IHttpHandler,只是储备不够,抓紧查询MSDN学习了一下,将学习点滴记录一下。 一、IHttpModule 查看这个接口的代码可以发现,它是由两个方法组成: public interface IHttpModule{ void Dispose(); void Init(HttpApplication context); } 看到两个方法及方法标签,就明白这个IHttpModule接口有什么作用了,Init方法中传入了一个HttpApplication参数,它提供对 ASP.NET 应用程序内所有应用程序对象的公用的方法、属性和事件的访问 阅读全文

艾伟_转载:ASP.NET模板引擎技术

2011-08-29 00:20 by 狼人:-), 213 阅读, 0 推荐, 收藏,
摘要:以前听我朋友说起php的模板引擎技术的时候似懂非懂哪时感觉真的很强,一直在想asp.net有这种技术吗?我不知道我的理解是不是对的.其实 asp.net的模板引擎技术就是先建好一个静态的html页面我们称它为模板页,你如果有不同形式的页面哪就得建立不同的静态模板页,然后在后台用文件操作往这个文件里写东西然后在把这个模板页另存到一个静态页面的目录,不好意思可能我的理解太俗,如果有更好的理解和想法可以在apolov发文章告诉我谢谢。现在我附加一下代码 Default.aspx这个页面只有几个textbox控件和两个按妞控件 Code highlighting produced by Ac... 阅读全文

艾伟_转载:对于C#中b=a的N种情况分析

2011-08-29 00:20 by 狼人:-), 163 阅读, 0 推荐, 收藏,
摘要:本文旨在验证一个容易混淆的概念,从而为《玩转WPF/Silverlight中INotifyPropertyChanged和ObservableCollection》做铺垫。 两个相同类型的变量a和b,并且有如下关系: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->b=a; 如果a发生改变,b是否也发生改变呢? 情况很复杂,分以下几种情况谈论: 1) 单个实体 1. 简单类型 先考察int: Code highlight... 阅读全文

艾伟_转载:C# .NET学习经验总结

2011-08-29 00:20 by 狼人:-), 189 阅读, 0 推荐, 收藏,
摘要:1. 装箱、拆箱还是别名 许多介绍C# .NET学习经验的书上都有介绍 int -> Int32 是一个装箱的过程,反之则是拆箱的过程。许多其它变量类型也是如此,如:short <-> Int16,long <-> Int64 等。对于一般的程序员来说,大可不必去了解这一过程,因为这些装箱和拆箱的动作都是可以自动完成的,不需要写代码进行干预。但是我们需要记住这些类型之间 的关系,所以,我们使用“别名”来记忆它们之间的关系。 C# 是全面向对象的语言,比 Java 的面向对象都还彻底——它把简单数据类型通过默认的装箱动作封装成了类。Int32、Int16、Int64 阅读全文

艾伟_转载:C# 委托的同步调用和异步调用

2011-08-29 00:20 by 狼人:-), 189 阅读, 0 推荐, 收藏,
摘要:委托的Invoke方法用来进行同步调用。同步调用也可以叫阻塞调用,它将阻塞当前线程,然后执行调用,调用完毕后再继续向下进行。 同步调用的例子: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Threading;public delegate int AddHandler(int a, int b);public class Foo { static void Main() { ... 阅读全文

艾伟_转载:HttpModule的认识与深入理解

2011-08-29 00:20 by 狼人:-), 187 阅读, 0 推荐, 收藏,
摘要:HttpModule是向实现类提供模块初始化和处置事件。当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,HttpModule是一个HTTP请求的“必经之路”,所以可以在这个HTTP请求传递到真正的请求处理中心(HttpHandler)之前附加一些需要的信息在这个HTTP请求信息之上,或者针对截获的这个HTTP请求信息作一些额外的工作,或者在某些情况下干脆终止满足一些条件的HTTP请求,从而可以起到一个Filter过滤器的作用。 首先你要实现IHttpModule接口这个接口只... 阅读全文

艾伟_转载:.NET设计模式:原型模式(Prototype Pattern)

2011-08-29 00:20 by 狼人:-), 159 阅读, 0 推荐, 收藏,
摘要:概述 在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化? 意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 结构图 Prototype模式结构图 生活中的例子 Prototype模式使用原型实例指定创建对象的种类。新产品的原型通常是先于全部产品建立的,这样的原型是被动的,并不参与复制它自己。一个细胞的有丝分裂,产生两个同样的细胞,是一个扮演主... 阅读全文

艾伟_转载:.NET设计模式:工厂方法模式(Factory Method)

2011-08-29 00:20 by 狼人:-), 137 阅读, 0 推荐, 收藏,
摘要:概述 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。 意图 定义一个用户创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。 结构图 生活中的例子 工厂方法定义一个用于创建对象的接口,但是让子类决定实例化哪个类。压注成型演示了这种模式。塑料玩具制造商加工塑料粉... 阅读全文
上一页 1 ··· 273 274 275 276 277 278 279 280 281 ··· 312 下一页