摘要:说起链表大家都很熟悉,说起委托相信大部分的.NET程序员都也很了解。在平时的开发过程中经常会用到这两种技术,只不过链表在.NET里面已经被封装了,让我们用起来更加的方便就是集合类型Collection。在某些时候我们有必要要了解这些方便而又快捷的背后是怎样封装的,委托是一种特殊的类型,在.NET里面是用来作为方法的一种封装。在一些非托管的代码中如C++就没有这么幸运了,我们要面对是一些复杂的地址变换、链表的指针维护、内存的取址等等。微软一向都是人性化模仿的对象,不管是他的操作系统还是开发平台IDE做的都很舒服。可能有的人会说把程序员这么崇高而又神秘的职业该大众化了,是人都会写程序。这种问题.. 阅读全文
一起谈.NET技术,Silverlight 应用整合
2011-09-01 23:57 by 狼人:-), 245 阅读, 1 推荐, 收藏,
摘要:Silverlight与企业信息化 在企业应用系统中,企业客户不在满足于呆板的Portal、树形结构、数据堆积的表格和满屏的文字描述。企业客户越来越倡导用户体验,Silverlight迎合了这种需求,实现了炫目的体验和丰富交互的应用,更重要的是Silverlight更适合企业应用系统的开发,依靠.Net平台,使用C#高级语言代替JavaScript脚本语言,实现了强大的客户端计算能力、支持多线程,丰富的控件、特效与动画,更可控的浏览器适应性,更安全的沙箱模式,客户端嵌入式数据库等。 现在企业应用开发有两大阵营,一个是Java,另一个是.NET平台,难道Silverlight只能服务... 阅读全文
一起谈.NET技术,用C#实现HTTP协议下的多线程文件传输
2011-09-01 23:57 by 狼人:-), 208 阅读, 0 推荐, 收藏,
摘要:很多人都有过使用网络蚂蚁或网络快车软件下载互联网文件的经历,这些软件的使用可以大大加速互联网上文件的传输速度,减少文件传输的时间。这些软件为什么有如此大的魔力呢?其主要原因是这些软件都采用了多线程下载和断点续传技术。如果我们自己来编写一个类似这样的程序,也能够快速的在互联网上下载文件,那一定是非常愉快的事情。下面我就讲一讲如何利用C#语言编写一个支持多线程下载文件的程序,你会看到利用C#语言编写网络应程序是多么的容易,从中也能体会到C#语言中强大的网络功能。 首先介绍一下HTTP协议,HTTP亦即Hpyer Text Transfer Protocal的缩写,它是现代互联网上最重要的一... 阅读全文
一起谈.NET技术,C# 中奇妙的函数--联接序列的五种简单方法
2011-09-01 23:57 by 狼人:-), 164 阅读, 0 推荐, 收藏,
摘要:今天我们来看看5种使用Linq函数联接序列的方法,这5种方法可以归入下列两类: 同类的联接 Concat() Union() 不同类的联接 Zip() Join() GroupJoin() Concat() – 串联序列 最简单的序列合并,concat仅仅是将第二个序列接在第一个序列后面, 注意:返回的序列并没有改变原来元素的顺序: 1. var healthFoods = new List<string> { "fruits", "vegetables", "grains", "proteins" } 阅读全文
一起谈.NET技术,.NET简谈观察者模式
2011-09-01 23:57 by 狼人:-), 146 阅读, 0 推荐, 收藏,
摘要:观察者模式想必搞程序开发的都听说过,今天我也来简单的总结一下本人在程序开发过程中是怎么使用观察者模式的;希望给大家带来点新的想法,如果哪位高手看到了也不要嘲笑啊;呵呵,追求技术的人,始终都是为了技术而学技术,目的只有一个,一起追求技术的最高境界。 观察者模式是设计模式里经常被用到的一种,什么叫观察者模式,字面理解就是一个或多个对象观察某个对象,这种观察是有目的的,当被观察者发生某种事件时,能准确的反馈到外界,通知大家你发生了什么;尤其是在今天面向对象编程的不断成熟,什么都讲究抽象,将重复劳动省到最少,方法成员都以类为容器封装;这是一种好的编程规则,就好比我们所生存的大自然坏境一样,汽车... 阅读全文
一起谈.NET技术,Log4Net 全方位跟踪程序运行
2011-09-01 23:57 by 狼人:-), 177 阅读, 0 推荐, 收藏,
摘要:前端日子自己写了一个简单的日志跟踪程序,现在目前正在做的一个项目中使用以便于跟踪程序异常和运行状况,但是被否认了!可能是没有权威性,于是自己总结了一下Log4net日志跟踪系统,这里分享大家学习一下。当然写这个文章的人太多了,这里不是做任何攀比,只是简单的分享供有需要的人。 一. Log4Net 简介 Log4net是 Apache 下一个开放源码的项目,它是Log4j 的一个克隆版。我们可以控制日志信息的输出目的地。Log4net中定义了多种日志信息输出模式。 在做项目的时候令我最头疼的是在程序发布到正式环境之后出现了问题,我们不能调试而且问题很难重新,于是我们需要大量... 阅读全文
一起谈.NET技术,.NET :静态类的理解
2011-09-01 23:57 by 狼人:-), 183 阅读, 0 推荐, 收藏,
摘要:静态类是一种声明为 static 类型的,且仅包含静态成员的类。不能使用 new 关键字创建静态类的实例。静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 (CLR) 自动加载。 静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么更改,这些数据和函数都不会随之变化。当类中没有依赖对象标识的数据或行为时,就可以使用静态类。 静态类的主要特点如下: 它们仅包含静态成员。
它们不能被实例化。
它们是密封的。
它们不能包含实例构造函数。 因此创建静态类与创建仅包含静态成... 阅读全文
一起谈.NET技术,回顾.NET Remoting分布式开发
2011-09-01 23:57 by 狼人:-), 188 阅读, 0 推荐, 收藏,
摘要:记得在下第一次接触.NET Remoting分布式开发是在2003年,那时候是Framework1.0初次亮相之时,Remoting分布式开发是Framework1.0其中一个亮点。经过多年的发展,在2005年,WCF随着Framework2.0首先亮相。WCF是结合Remoting,Web服务,TCP/IP套接字,MSMQ信息,P2P,WSE等多方通讯的混合体。 随着WCF的出现是否意昧着Remoting即将没落,答案是否定的。因为Remoting有其独到之处,在通讯效率,信息交换,安全性等多方面都有其特点,所以在企业内部系统的信息化交换层的开发当中,很多时候会使用Remoting进... 阅读全文
一起谈.NET技术,页面片段缓存(二)
2011-09-01 23:57 by 狼人:-), 216 阅读, 0 推荐, 收藏,
摘要:在上一篇文章中,我介绍了我们用土法炼钢的方法,使用Velocity提供的自定义标签实现片段缓存。这样的方式虽然也解决了我们的问题,但还是引出了一些bug。而且还有点hack的味道(虽然我喜欢hack)。实际上对于片段缓存,业界有成熟的解决方案,还有一个所谓的W3C标准:ESI(Edge Side Include) 。 ESI本身没有什么,只是一个XML的标签集合。ESI和SSI(Server Side Include)很相似,做过ASP开发的都熟悉这么一个标签: <!--#include src="header.inc" --> IIS碰到这么一个标签后,会把h 阅读全文
一起谈.NET技术,ASP.NET MVC 入门介绍 (上)
2011-09-01 23:57 by 狼人:-), 212 阅读, 0 推荐, 收藏,
摘要:参考文章 ASP.NET MVC Overview. 1. MVC模式 MVC模式是一种软件架构模式。它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予... 阅读全文
一起谈.NET技术,页面片段缓存(一)
2011-09-01 23:57 by 狼人:-), 182 阅读, 0 推荐, 收藏,
摘要:一般,页面上会分为很多部分,而不同的部分更新的频率是不一样的。如果对整个页面采用统一的缓存策略则不太合适, 而且很多系统的页面左上角都有一个该死的“Welcome XXX”。这种特定于用户的信息我们是不能缓存的。对于这些情况我们就需要使用片段缓存了。对页面不同的部分(片段)施加不同的缓存策略,而要使用片段缓存,首先就得对页面进行切分。土一点的办法可以用iframe,用iframe将页面划分为一块块的,不过我总觉得iframe是个邪恶的东西。好点的办法可以用Ajax单独的请求这个片段的内容然后再填充,看起来挺美好的。不过使用Ajax也有一些限制: 1、如果页面上有许多片段,使用太多的... 阅读全文
一起谈.NET技术,.NET简谈面向接口编程
2011-09-01 23:57 by 狼人:-), 171 阅读, 0 推荐, 收藏,
摘要:过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式;我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广;面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很简单的封装,我们只需要调用就行,这样越来越多的开发人员开始慢慢的往上浮,有一定编程经验和感触的人,能够明白我所说的浮,也算是给初学者提个醒吧。 1: 2:
我们将计算机系统抽象层三个层次,我们做应用层开发的基本上处于最上层;我为什么要给出这张图,其实当我们的软件系统不断的抽象后... 阅读全文
一起谈.NET技术,改善代码设计 —— 简化函数调用(Making Method Calls Simpler)
2011-09-01 23:57 by 狼人:-), 140 阅读, 0 推荐, 收藏,
摘要:系列博客 1. 改善代码设计 —— 优化函数的构成(Composing Methods) 2. 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects) 3. 改善代码设计 —— 组织好你的数据(Composing Data) 4. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions) 5. 改善代码设计 —— 简化函数调用(Making Method Calls Simpler) 6. 改善代码设计 —— 处理概括关系(Dealing with Generalization... 阅读全文
一起谈.NET技术,改善代码设计 —— 处理概括关系(Dealing with Generalization)
2011-09-01 23:57 by 狼人:-), 159 阅读, 0 推荐, 收藏,
摘要:系列博客 1. 改善代码设计 —— 优化函数的构成(Composing Methods) 2. 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects) 3. 改善代码设计 —— 组织好你的数据(Composing Data) 4. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions) 5. 改善代码设计 —— 简化函数调用(Making Method Calls Simpler) 6. 改善代码设计 —— 处理概括关系(Dealing with Generalization... 阅读全文
一起谈.NET技术,改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects)
2011-09-01 23:57 by 狼人:-), 143 阅读, 0 推荐, 收藏,
摘要:系列博客 1. 改善代码设计 —— 优化函数的构成(Composing Methods) 2. 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects) 3. 改善代码设计 —— 组织好你的数据(Composing Data) 4. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions) 5. 改善代码设计 —— 简化函数调用(Making Method Calls Simpler) 6. 改善代码设计 —— 处理概括关系(Dealing with Generalization... 阅读全文
浙公网安备 33010602011771号