重构到观察者模式 Refactor to Observer Pattern
对模式有了初步了解的朋友都知道,模式的使用与算法的使用有一个很大的区别,那就是它不是一个上来就能套用的东西。而是应该在软件的开发过程中通过捕捉软件的变化点并加以封装,并尽可能使用面向接口的编程和对象组...
Visual Studio 2010 建模学习- 与TFS工作项进行集成
在博客《VS 2010 测试功能学习(三) 真正的主角儿》中曾经介绍过,Visual Studio2010的核心实际上是后端的Team Foundation Server,它集成了很多ALM的功能。VS2010的开发、测试等都与VS20...
浅谈.NET下的多线程和并行计算:Winform中多线程编程基础
首先我们创建一个Winform的应用程序,在上面添加一个多行文本框和一个按钮控件,按钮的事件如下:Thread.Sleep(1000);StringBuilder sb = new StringBuilder();for (int i = 0; i < 10000; i++) sb.Append("te...
一次性能提升300%的优化实践
性能优化一般都是从性能瓶颈开始。项目中有这样一个控件,它包含很多个Item,每个Item字体可能相同,也可能不同。且该控件经常在同一个Form上大量使用。正是这个控件在使用GDI画每个Item的文字时,出现了性能瓶颈。I...
GCHandle Leak
刚刚在园子里看到一篇文章《.net中的游魂现象》,正好这两天关心这个问题,就打算再写篇文章和大家讨论一下,先给大家提两个问题:问题1:点击button1后,Timer会被GC回收吗?点击button2后呢?为什么?(这个问题来...
ASP.NET页面运行机制以及请求处理流程
IIS处理页面的运行机制:IIS自身是不能处理像ASPX扩展名这样的页面,只能直接请求像HTML这样的静态文件,之所以能处理ASPX这样扩展名的页面,是因为IIS有一个ISAPI过滤器,它是一个COM组件。ASP.NET服务在注册到IIS...
EasyTools的AjaxTextBox详解
前两天已经发布了AjaxTextBox控件,但上篇文章只是简单的说这个控件有什么特点,怎样用。今天说下这个控件的高级应用(适用于对js脚本有点了解的用户使用)。先说下控件的一些属性吧!如下图:RegularExpression ---...
Dot NET设计模式—反射工厂
概述 如果采用传统方式实现了简单工厂、工厂方法和抽象工厂在有些场合下如此处理,代码会变得冗余并且难以维护。 假设我们需...
Dot NET设计模式—反射工厂
概述 如果采用传统方式实现了简单工厂、工厂方法和抽象工厂在有些场合下如此处理,代码会变得冗余并且难以维护。 假设我们需...
系统缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman
Memcached — 分布式缓存系统1.Memcached是什么? Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。Memcached通过在内存里维护一个统一的巨...
系统缓存全解析6:数据库缓存依赖
更多的时候,我们的服务器性能损耗还是在查询数据库的时候,所以对数据库的缓存还是显得特别重要,上面几种方式都可以实现部分数据缓存功能。但问题是我们的数据有时候是在变化的,这样用户可能在缓存期间查询的数据...
系统缓存全解析5:文件缓存依赖
这种策略让缓存依赖于一个指定的文件,通过改变文件的更新日期来清除缓存。 &nbs...
系统缓存全解析4:应用程序数据缓存
System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类。此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和数据集。它还为这些对象提供了失效功能,并为...
系统缓存全解析3:页面局部缓存
有时缓存整个页面是不现实的,因为页的某些部分可能在每次请求时都需要变化。在这些情况下,只能缓存页的一部分。顾名思义,页面部分缓存是将页面部分内容保存在内存中以便响应用户请求,而页面其他部分内容则为动态...
系统缓存全解析2:页面输出缓存
页面输出缓存是最为简单的缓存机制,该机制将整个ASP.NET页面内容保存在服务器内存中。当用户请求该页面时,系统从内存中输出相关数据,直到缓存数据过期。在这个过程中,缓存内容直接发送给用户,而不必再次经过页...
系统缓存全解析 1:系统缓存的概述
有时候总听到网友说网站运行好慢,不知如何是好;有时候也总见到一些朋友写的网站功能看起来非常好,但访问性能却极其的差。没有“勤俭节约”的意识,势必会造成“铺张浪费”。如何应对这种情况,充分利用系统缓...
简单工厂、工厂方法和抽象工厂模式
假想场景:hp和apple是全球知名的电脑生产厂家,他们各自的电脑操作系统分别是windows和macintosh,microsoft是软件行业的龙头。为了吸引更多客户购买电脑,hp和apple请ms为他们开发两款最常用的软件,办公软件和...
深入解读 ADO.NET 2.0 的十大最新特性
1. 批量复制操作(Bulk Copy Operation) 将数据从一个数据源批量复制到另一个数据源是ADO.NET 2.0的一个新特性。批量复制类提供了最快的方法把数据从一个数据源迁移到另一个数据源。每个ADO.NET的数据提供者都会...
ADO.NET枚举数据提供者
ADO.NET 2.0引入了基于工厂方法设计模式的公共模型概念,它使用简单的应用程序编程接口(API)通过不同的数据提供者进行数据库访问。数据提供者工厂让你不需要在代码中限定使用指定的数据提供者。工厂方法类创建并返...
.NET下的状态(State)模式 ------行为型模式
最近学习了State状态模式,现把相关知识点总结,便于以后学习: 对象状态影响对象的行为: 对象拥有不同的状态,往往会产生不同的行为。一、动机在软件构件过程中,某些对象的状态如果改变,其行...