自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 设计模式之AbstractFactory(抽象工厂)

抽象工厂模式(Abstract Factory Pattern)引入:在前面介绍的两个创建型模式里面,我们解决的都是有关"new"的问题,用它们来避免显式指定类创建对象。我写的也非常简单易懂,相信看过的朋友们都应该对简单工厂模式、工厂方法模式的意图、所能解决的问题及适用情景有一定的了解了。但是若要达到灵活运用,什么时候用,怎样用合适还不是看一篇文章就能解决的问题

2010-01-26 11:05:00 851 3

转载 [转载]MSIL Instruction Table(il代码表)

原文地址:http://safari.oreilly.com/0735616485/IDABH1W Throughout this text, Ive often employed the ILDASM utility to illustrate the Microsoft intermediate language (MSIL) that the C# compil

2010-03-29 12:16:00 1041

转载 对抽象编程:接口和抽象类

声明:此文转帖,觉得它是真的写得很好发布日期:2007.4.12 作者:Anytao©2007 Anytao.com 转贴请注明出处,留此信息。 本文将介绍以下内容: • 面向对象思想:多态• 接口• 抽象类 1. 引言在我之前的一篇post《抽象类和接口的谁是谁非》中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了

2010-03-28 23:41:00 813 5

原创 WCF中的四种契约模式

1:服务契约2:回调契约3:错误契约4:数据契约。 

2010-03-27 19:48:00 798

原创 XSLT xsl:attribute-set 元素

定义和用法 元素可创建命名的属性集。该属性集(attribute-set)可作为整体应用到输出文档。注释:必须是 或 的子节点。语法name="name" use-attribute-sets="name-list"> 属性属性值描述namename必需。规定属性集的名称。us

2010-03-26 21:24:00 1092

原创 XSLT xsl:attribute 元素

定义和用法 元素用于向元素添加属性。注释: 元素会替换名称相同的已有属性。语法 属性属性值描述nameattributename必需。规定属性的名称。namespaceURI可选。为属性定义命名空间的 URI。实例例子 1向 pi

2010-03-26 21:21:00 2356

原创 XSLT xsl:apply-templates 元素

定义和用法 元素可向当前元素或当前元素的子元素应用模板。如果我们向 元素添加 select 属性,那么它仅会处理匹配该属性的值的子元素。我们可使用 select 属性来规定处理子介点的顺序。语法 属性属性值描述select表达式可选。规定要处理的节点。星号选取整个节点集。如果省略该属性,则将选取

2010-03-26 21:20:00 1240

原创 XSLT xsl:apply-imports 元素

定义和用法 元素可应用来自导入样式表中的模版规则。导入样式表中的模版规则的优先级要比主样式表中的模版规则要低。如果您希望使用导入样式表中的某条模版规则,而不是主样式表中的某条等价规则,就会用到 元素。语法属性None实例假设我们有一个名为 "standard.xsl" 的样式表,其中包含用于 message 元素的模版规则:

2010-03-26 21:16:00 709

原创 XSLT 元素参考手册

源自于 W3C 推荐 (XSLT Version 1.0) 的 XSLT 元素。XSLT 元素如果您需要有关下列元素的更详细的信息,请点击元素列中的链接。N: 表示最早支持此标签的 Netscape 版本IE: 表示最早支持此标签的 Internet Explorer 版本注释:在 IE 5 中所支持的元素可能出现非标准的行为,这是由于 IE 5 发

2010-03-26 21:15:00 609

原创 IP协议首部规范

2010-03-25 20:55:00 619

原创 IP五类地址划分

/*类型 范围A 0.0.0.0 到 127.255.255.255B 128.0.0.0 到 191.255.255.255C 192.0.0.0 到 223.255.255.255D

2010-03-25 00:53:00 758

原创 正则表达式全部符号解释

字符 描述 / 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,n 匹配字符 "n"。/n 匹配一个换行符。序列 // 匹配 "/" 而 "/(" 则匹配 "("。^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multili

2010-03-22 22:23:00 515

原创 第5篇 上移字段

今天我们来看看一个和上移方法十分类似的重构,我们处理的不是方法,而是字段。 重构前:public abstract class Account{}public class CheckingAccount:Account{ private decimal _minimumCheckingBalance = 5m;}public class Savings

2010-03-22 22:10:00 658

转载 (翻 译)从底层了解ASP.NET体系结构

(翻译)从底层了解ASP.NET体系结构 前言关于ASP.NET的底层的工作机制,最近园子里讨论的甚是火热。相信很多人都看过Rick Strahl先生的一篇经典之作:A low-level Look at the ASP.NET Architecture,经Rick Strahl先生同意,我把他的这篇文章翻译成中文,希望能够给想深入了解ASP.N

2010-03-22 16:56:00 887 2

转载 C# 的虚函数解析机制

前言  这篇文章出自我个人对C#虚函数特性的研究和理解,未参考、查阅第三方资料,因此很可能存在谬误之处。我在这里只是为了将我的理解呈现给大家,也希望大家在看到我犯了错误后告诉我。用词约定 “方法的签名”包括返回类型、方法名、参数列表,这三者共同标识了一个方法。“声明方法”,即指出该方法的签名。“定义方法”,则是指定调用方法时执行的代码。“同名方法”是指方法的签名相同

2010-03-22 15:20:00 700 2

转载 揭开.NET2.0配置之谜(三)

var m = window.__blog.preRenderPosts; if (m) { m(); } 声明:此文是译文,原文是Jon Rista,Unraveling the Mysteries of .NET 2.0 Conf

2010-03-22 15:15:00 689

转载 揭开.NET2.0配置之谜(二)

var m = window.__blog.preRenderPosts; if (m) { m(); }  声明:此文是译文,原文是Jon Rista,Unraveling the Mysteries of .NET 2.0

2010-03-22 15:05:00 744

转载 揭开.NET 2.0配置之谜(一)

这是一个非常经典的web.config系列,就像原文作者下面那些评论的人说得一样,看了这篇文章会让你有种相见恨晚的感觉(真的,我真希望找些看到这文章) var m = window.__blog.preRenderPosts; if (m) { m(); }

2010-03-22 14:02:00 758 1

原创 我是一个没良心并且胆小怕事良心狠再加黑的东西

或许我TM的就不是一个东西。哎。 

2010-03-21 22:34:00 534 2

原创 第4篇 下移方法 (push down method)

现在来看看与上拉重构方法相反的下移重构方法: 重构前:public abstract class Animal{ public void Brak() { //code to bark }}public class Dog:Animal{ }public class Cat:Animal{ }

2010-03-21 21:33:00 685

原创 第3篇 上移方法 (pull method)

上移方法重构是将方法向继承链上层迁移的过程。用于一个方法被多个实现者使用时。 重构前:public abstract class Vehicle{ //other methods}public class Car:Vehicle{ public void Turn(Direction direction) { //co

2010-03-21 21:14:00 802

原创 纸质书

等这个月工资发了就要买纸质书看了。电子书看不下去。还有些干脆就没有电子版的一些经典的还是看纸质的书好啊  

2010-03-21 21:11:00 477

原创 第2篇 迁移方法

今天的重构同样非常地简单,以至于人们不认为这是一个有价值的重构。迁移方法,顾名思义就是将方法迁移到合适的位置,在开始重构前,我们先看看一下代码: 重构前:public class BankAccount{ public BankAccount(int accountAge,int creditScore, AccountInterest accountInters

2010-03-21 18:11:00 359

原创 Ienumerable Ienumerator 进行迭代

一直都没有深入的去接触过Ienumerable 和Ienuerator 接口,而Ienumerable 里面又有一个方法叫GetEnumerator方法。听这些词听得头都晕了。只知道他们的作用就是用来迭代。foreach提供支持。真正的去用还是没有接触过的。直接上一个微软的例子好了。 using System;using System.Collections;public clas

2010-03-21 16:54:00 504

原创 第1篇 封装集合

在某些场景中,向类的使用者隐藏类中的完整集合是一个很好的做法,比如对集合的add/remove操作中包含其他的相关逻辑时。因此,以可迭代但不直接在集合上进行操作的方式来暴露集合,是个不错的主意。我们来看代码:public class Order{ private int_orderTotal; private List _orderLines; pub

2010-03-21 15:59:00 532 1

原创 使用fileupload上传图片后生成水印和缩略图

做网站的朋友很多时候上传文件的时候都需要生成个带水印的。下面是代码protected void Button1_Click(object sender, EventArgs e) { string fileContentType = FileUpload1.PostedFile.ContentType; if (fileContentType

2010-03-08 16:14:00 879 4

原创 js中COOKIE的应用

  说明:在很多时候需要把一些前台的值记录到COOKIER中保存,以方便在其他页面中使用,     COOKIE是值对值形式的,中间以分号分开      应用                   

2010-03-07 12:20:00 537

转载 asp.net列表数据显示+分页

一位CSDN网友放在下载里的 //////////////////// /// 分页函数 /// /// 数据源 private void SplitPage(DataTable dtRecord)

2010-03-06 22:26:00 3713

原创 设计模式之Singleton(单件模式)

定义:确保一个类只有一个实例,并提供全局访问点。 剖析经典单件模式实现:public class Singleton{ //利用一个静态变量来记录Singleton类的唯一实例. private static Singleton uniquInstance; //这里是其他的有用实例化变量。并没有真正写出来。 //把构造器声明为

2010-01-26 11:22:00 658 5

转载 设计模式之FactoryMethod(工厂方法)

工厂方法模式(Factory Method Pattern)介绍:在简单工厂模式中,我们提到,工厂方法模式是简单工厂模式的一个延伸,它属于Gof23中设计模式的创建型设计模式。它解决的仍然是软件设计中与创建对象有关的问题。它可以更好的处理客户的需求变化。引入我们继续来说"new"的问题,我们在简单工厂模式中,将实例化对象的工作推迟到了专门负责

2010-01-26 09:56:00 615 1

转载 OO与设计模式的原则、目标

OO(Object–Oriented )面向对象   OO方法(Object-OrientedMethod,面向对象方法,面向对象的方法)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相

2010-01-26 09:29:00 446

转载 设计模式之SimpleFactory(简单工厂)

发现自己写写也不一定有这么好,所以还是直接把一些写的好的文章放过来。大家欣赏。简单工厂模式(Simple Factory Pattern)介绍:简单工厂模式不能说是一个设计模式,说它是一种编程习惯可能更恰当些。因为它至少不是Gof23种设计模式之一。但它在实际的编程中经常被用到,而且思想也非常简单,可以说是<a title=".NET设计模式(2): 工厂方法模式希望对你有

2010-01-26 09:20:00 405

转载 设计模式之Decorator(装饰者模式)

这篇文章代码还有一些实际的内容不知道如何动手,还是把网上看到一篇与我书看的head first 设计模式一书中一样的例子放上来吧。 来杯咖啡       Central Perk的名字因为《老友记》而享誉全球,他们的分店几乎开遍世界各地。他们发展的实在是太快了,所以他们此时正在急于实现一套由计算机管理的自动化记账系统。在第一次研究了他们的需求以后,开发者设计了如下图

2010-01-25 16:32:00 526 1

原创 设计模式之observer(观察者模式)

设计原则:为交互对象之间的松耦合设计而努力 模式定义:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态时,依赖它的对象都将会接收到通知 。并自动更新。   实例代码:1、主题接口(可被观察接口) /// /// 主题接口(即可被观察接口) /// public interface Subject

2010-01-20 15:51:00 348

原创 设计模式之Strategy(策略模式)

此模式应用到的原则:1、找出应用可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码写在一起。2、针对接口编程,而非针对实现编程3、多用组合,少用继承。策略模式定义:定义算法族,分别封装起来。让它们之间可以互相替换,此模式让算法的变化独立与使用此算法的客户。 下面直接把书中的代码弄上来代码:1、首先定义抽象鸭子类(超类)///

2010-01-20 14:42:00 457

转载 SOAP 1.1规范

 SOAP简介SOAP(SimpleObjectAccessProtocal,简单对象访问协议)技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。SOAP的一个主要目标是使存在的应用能被更广泛的用户所使用。为了实现这个目的,没有任何SOAPAPI或SOAP对象

2009-11-27 09:49:00 711 2

转载 WWW的核心——HTTP协议

 众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP、ArchieGopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用。  WWW服务器使用的主要协议是HTTP协议,即超文体传输协议。由于HTTP协议支持的服务不限于WWW,还可以是其它服务,因而HTTP协议允许用户在统一的界面下,采用不同的协议访问不同的服务,如FTP、Archi

2009-11-27 09:47:00 475

转载 超文本传输协议HTTP

 用于支持WWW浏览的网络协议为HTTP,这是一种最基本的客户机/服务器的访问协议。浏览器向服务器发送请求,而服务器回应相应的网页。HTTP协议从1990年开始出现,发展到当前的HTTP1.1标准,已经有了相当多的扩展,然而其最基本的实现是非常简单的,服务器需要进行的额外处理相当少,这也是为什么Web服务器软件如此众多的原因之一。请求方法通常,HTTP协议使用端

2009-11-27 09:44:00 663

转载 协议分析的优势—HTTP分析器检测网络攻击

 从性能、效率、检测率、误报率等各方面看,使用协议分析的入侵检测系统比起使用简单模式匹配的入侵检测系统有着较大的优势。下面我们就以HTTP协议为例,结合KIDS(金诺网安入侵检测系统)中使用的HTTP分析器,对这两种方法进行比较说明。GET/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dirHTTP/1.0一个针对IIS的Unicode攻击的第

2009-11-27 09:40:00 517

转载 HTTP和WWW的配置注意事项

 一、HTTP的安全因素对于HTPP要关注的两个基本安全情况之一是,一个恶意的客户能对HTTP服务器做些什么。在大多数情况下,我们对HTTP服务器安全性的考虑同我们对其他服务器如匿名FTP服务器处理来自因特网的连接的安全性考虑是一样的。你要确保用户的这些连接只能访问到你提供给他们访问的信息,并且不能让他们欺骗你的服务器来获得他们不应得到的信息。有许多种方法完成这个目标,包括

2009-11-27 09:39:00 420

提示
确定要删除当前文章?
取消 删除