摘要:今天我们来看看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技术,页面片段缓存(一)
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... 阅读全文
一起谈.NET技术,改善代码设计 —— 组织好你的数据(Composing Data)
2011-09-01 23:57 by 狼人:-), 147 阅读, 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技术,改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)
2011-09-01 23:57 by 狼人:-), 158 阅读, 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技术,ASP.NET MVC 入门介绍 (下)
2011-09-01 23:57 by 狼人:-), 180 阅读, 0 推荐, 收藏,
摘要:相关文章:ASP.NET MVC 入门介绍 (上) 接上文,我们来完善验证功能。在System.ComponentModel.DataAnnotations命名空间中,已经有了一些基本的属性类来实现验证功能,只要把这些属性加到Model的字段上就可以了。具体的属性类可以查MSDN, 下面给出一个例子: public class Movie{ [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int ID { get; set; } [StringLength(10,MinimumLen... 阅读全文
一起谈.NET技术,详解.NET程序集的加载规则
2011-09-01 23:57 by 狼人:-), 186 阅读, 0 推荐, 收藏,
摘要:程序集的加载涉及到很多方面的知识,包括配置文件、全局缓存装配、私有目录等的查找。用LoadAWithPartialName方法加载程序集,必须提供程序集的文本名称,还可以包公钥标记、版本或区域性等,但不必包含完全引用信息,如名称、版本、区域性、公钥标记。 使用(System.Reflection.Assembly.Load)并仅指定部分引用,运行库在全局程序集缓存和应用程序根目录中对程序集进行检查。使用LoadWithPartialName方法并仅指定部分引用,运行库在应用程序目录中和全局程序集缓存中对程序集进行检查。另外,提供部分引用,可在应用程序集的配置文件中提供完全引用的信息。
... 阅读全文
浙公网安备 33010602011771号