![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.Net
lovelihui
这个作者很懒,什么都没留下…
展开
-
C#.net泛型知识(一)
所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型,泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。C#泛型赋予了代码更强的类型安全,更好的复用,更高的效率,更清晰的约束。机制:C#泛型能力是由CLR在运行时支持,区别于C++的编译时模板机制,和Java的编译时的“搽拭法”。这使得泛型能力可以在各个支持CLR的语言之间进行无缝的互操作。C#泛型代码在...原创 2009-04-02 16:43:44 · 81 阅读 · 0 评论 -
设计模式学习笔记五:抽象工厂(Abstract Factory)
1.概述 意图: 提供一个创建一系列相关或相互依赖的对象的接口,而无需指定其具体的类。 使用场合: 在以下场合可以使用抽象工厂: (1).一个系统要独立于其产品的创建、组合和表示时; (2).一个系统要有多个产品系列中的一个来配置时 (3).需要提供一个产品类库,而只想显示他们的接口,而影藏其实现时。 抽象工...原创 2009-05-12 14:58:50 · 117 阅读 · 0 评论 -
设计模式学习笔记四——Builder模式
动机:一个复杂对象由多个子对象构成,该对象创建的算法相对不变,构成的子对象剧烈变化。如何应对子对象的剧烈变化,隔离比较稳定的创建算法和易变的子对象,使客户程序不随着子对象的改变而改变。场景:ThinkPad系列产品和一般笔记本一样,拥有比较固定的组成部分:主板、CPU、硬盘、显示器、键盘……。假设所有ThinkPad的组装过程完全相同,不同性能参数的部分组合在一起形成不同型号的ThinkPad,比...原创 2009-05-12 14:52:28 · 122 阅读 · 0 评论 -
设计模式学习笔记四:工厂方法(Factory Method)
1.概述 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。 工厂方法模式(Factory Method),定义一个用于创建对象的...原创 2009-05-12 14:51:55 · 168 阅读 · 0 评论 -
设计模式学习笔记三——Abstract Factory模式
动机:实现一系列相互依赖对象的创建,通过封装系列对象创建来隔离对象创建和客户程序,从而能够灵活提供更多系列对象创建和系列对象间的切换,而不需要改变客户程序。应用:多种风格软件界面控件的创建、对应多种数据库的多系列数据访问层对象的创建(比如Petshop中的数据访问层对象)。场景:此处以ThinkPad系列产品的组装为例子。组装电脑程序(即客户)需要根据需要拿出不同系列ThinkPad(此处以T43...原创 2009-05-12 14:51:18 · 99 阅读 · 0 评论 -
设计模式学习笔记三:简单工厂(Simple Factory)
开始学习创建型模式,这些模式的使用是面向接口编程的必然结果,面向接口编程要求针对接口,而不是具体的实现,这样程序可以不用关心具体使用实现也能做到实现的互换。尽管编程是面向接口,但执行是操作需要实例化后的对象,而实例化必须要针对具体的类。如果直接实例化,则破坏了面向接口编程的原则。解决的方法就是通过一个专门实例化的类来获得具体的对象,通常我们将这个类成为“工厂”,将与实例化相关的模式成为“创建型模式...原创 2009-05-12 14:50:42 · 89 阅读 · 0 评论 -
设计模式学习笔记二——Singleton模式
意图:出于某种目的(如性能考虑、逻辑性要求)要求一个类的实例只能有N个应用:抽象工厂模式中的工厂类、对象池namespace DesignPattern.Singleton{ // 单线程 public class SingleThread { private static SingleThread instance; private Singl...原创 2009-05-12 14:49:19 · 75 阅读 · 0 评论 -
设计模式学习笔记二:面向对象基础六之委托与事件
委托 委托作为函数的封装,可以当作给方法的特征指定一个名称。事件 事件则是委托的一种特殊形式,当发生有意义的事情时,事件对象处理通知过程。事件其实就是设计模式中观察者模式在.net中的一种实现方式。 下面看实例来学习,实例的需求是,有一只老猫叫Tom,有两只老鼠叫Jerry和Jack,Tom只要一叫‘嘧,我是Tom!’,两只老鼠就说‘老猫来了,快跑!’。通过分析应该有Cat和Mo...原创 2009-05-12 14:48:24 · 79 阅读 · 0 评论 -
设计模式学习笔记二:面向对象基础五之集合和泛型
数组 数组的优点:数组在内存中连续存储,可以快速而容易的从头到尾的遍历元素,可以快速的修改元素;缺点:创建时必须要指定数组变量的大小,还有就是两个元素之间添加元素比较困难。集合 .net Framework提供了用于数据存储和检索的专用类,这些类统称集合。这些类提供对堆栈、队列、列表和哈希表的支持。大多数集合类实现相同的接口。ArrayList ArrayList是命名空间Sys...原创 2009-05-12 14:47:39 · 87 阅读 · 0 评论 -
设计模式学习笔记五——Prototype模式
动机:使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。某些结构复杂对象面临着剧烈变化,但拥有比较稳定一致的接口,如何隔离出这些易变对象,使客户程序不随之改变?场景:ThinkPad的主板和CPU有多种,根据系列不同,如何根据已有的硬盘和CPU生产新的主板和CPU。结构代码实现namespace DesignPattern.Prototype{ public abst...原创 2009-05-12 15:01:45 · 101 阅读 · 0 评论 -
设计模式学习笔记六:.NET反射工厂
1. 简述 通过前面的学习,我们以传统的方式实现了简单工厂,工厂方法和抽象工厂,但是有些场合下如此处理,代码会变得冗余并且难以维护。假设我们要创建交通工具。可以是汽车,火车,轮船等,其结构如下: 我们可以采用简单工厂,通过参数指示创建所需要的对象类型。如果要增加子类,例如卡车和轿车,则必须增加参数和相应的代码。如果子类层次过多,则会是程序变得很难维护。 但我...原创 2009-05-12 15:02:44 · 107 阅读 · 0 评论 -
Stack,Queue,SortedList
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.W...2009-08-04 15:23:53 · 83 阅读 · 0 评论 -
匿名方法
匿名方法优点:减少系统开销,在真正委托调用时才定义。using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using...2009-08-04 09:21:36 · 124 阅读 · 0 评论 -
.NET WebService的创建、部署、运用
项目要求:(简单点讲) 1、客户端通过web站点上传XML,XML文件在web站点首先解析成DataSet,所以上传给WebService只是DataSet,你也可以上传XML文件到WebService服务器,这里以前者为例。 2、WebService接收客户端传来的DataSet,将DataSet插入到数据库。 ...原创 2009-07-24 13:41:27 · 167 阅读 · 0 评论 -
C#生成缩略图
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.W...2009-07-13 10:01:35 · 79 阅读 · 0 评论 -
.net MD5
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.W...2009-06-17 10:19:48 · 89 阅读 · 0 评论 -
给RadionButtonList控件加onclick属性
RadionButtonList _Specialclassid;_Specialclassid = (RadioButtonList)this.FindControl("Specialclassid");if (_Specialclassid != null) { foreach (ListItem obj in _Sp...2009-05-13 16:25:21 · 169 阅读 · 0 评论 -
设计模式学习笔记七:常用设计模式原则总结
前面学习了一部分创建型模式,发现了一个比设计模式更重要的东西:设计模式原则。对于设计模式来说,为什么这个模式要这样解决这个问题,而另一个模式要那样,它们背后都遵循的就是永恒的设计原则。可以说,设计原则是设计模式的灵魂。三大基本面向对象设计原则: 1.针对接口编程,而不是针对实现编程 ;2。优先使用对象组全,而不是类继承;3.封装变化点。 下面...原创 2009-05-12 15:43:30 · 84 阅读 · 0 评论 -
设计模式学习笔记六——Adapter模式
动机:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。应用:旧代码复用、类库迁移等。场景:原有一只SP/2接口的鼠标,现想插在ThinkPad T60上使用,由于T60鼠标接口为USB接口,所以需要一个转换器进行转接。说明:适配器包括两种实现结构:对象适配器和类适配器。类适配器使用多继承,带来不良的高耦合,一般不使用。结构代码实现names...原创 2009-05-12 15:42:19 · 99 阅读 · 0 评论 -
设计模式学习笔记二:面向对象基础四之抽象类和接口
抽象类 c#允许把类和方法声明为abstract,即抽象类和抽象方法。你会发现Animal类其实根本就不能被实例化,一只猫张什么样,你可以想象,一只动物张什么样,你能想象吗? 抽象类需要注意的几点:一,抽象类不能实例化;抽象方法是必须被子类重写的方法;如果类中包含有抽象方法,那么类必须定义为抽象类,不论其是否包含有其他方法。 我们应该考虑让抽象类拥有尽可能多的代码,尽可能少的数据...原创 2009-05-12 14:47:10 · 61 阅读 · 0 评论 -
设计模式学习笔记二:面向对象基础三之多态
多态 多态是面向对象的第三大特性。多态表示不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行。举例说明:国粹京剧以前都是子承父业,代代相传的艺术,假设有一对父子,父亲是非常出名的京剧艺术家,儿子也已长大成人,且模仿父亲的戏惟妙惟肖。有一天父亲病了,不能登台演出,而票早就卖出,退票是会严重影响声誉。怎么办呢?由于京剧是化妆后表演,于是最好的办法就是由儿子待父亲上台表演。 这里...原创 2009-05-12 14:40:25 · 68 阅读 · 0 评论 -
Asp.Net地址栏重写
经常有人请我指导应该如何动态地“重写”URL,以在他们的ASP.NETweb应用中发布比较干净的URL端点。这个博客帖子概述了几个方法,你可以用来在ASP.NET中干净地映射或重写URL,以及按照你自己的需求组织你的URL的结构。 为什么URL映射和重写很重要?下面是开发人员想要对URL有更大的灵活性的最常见的场景: 1) 处理这样的情形:你要更改你的web应用中网页的结构,但你同时也...原创 2009-04-28 14:22:48 · 167 阅读 · 0 评论 -
XML操作
/*******************************************************************/ //写入Xml 元素 string xmlFilePath = this.Server.MapPath("BookStore.xml"); //Xml 文件路径 XmlDocument xmlDoc = new XmlD...原创 2009-04-27 13:37:52 · 64 阅读 · 0 评论 -
webservice的几种调用方法
一、WebService在cs后台程序中的调用 A、通过命名空间和类名直接调用 示例: WebService ws = new WebService(); string s = ws.HelloWorld(); B、通过添加WEB引用的方式调用,首先添加WEB引用,通过URL指...原创 2009-10-10 17:35:54 · 207 阅读 · 0 评论 -
我是如何学习设计模式的十:工厂模式-这个是我花的心思最多的
工厂模式为什么会出现1—创建对象2— 3我们在编程的时候,每当"new"一个对象之后,这个对象就依赖于这个类了。如果在后期的维护过程中由于某些原因需要修改一下这个类,则唯一的做法就是打开源代码,进行修改,修改所有与这个对象有关的操作。这对我们是非常不利的。3— 问题出来了:对象不能应对“具体实例化类型”的变化4— 解决思路:套用一下李建忠李老师的话,封装变化点,哪...原创 2009-10-09 10:39:24 · 116 阅读 · 0 评论 -
线程操作
using System;using System.Collections.Generic;using System.Text;using System.Threading;namespace Test{ public class Program { static void Main(string[] args)...2009-04-14 23:27:53 · 80 阅读 · 0 评论 -
checked和unchecked
using System;using System.Collections.Generic;using System.Text;namespace Test{ public class Program { static short x = 32767; static short y = 32767; ...2009-04-12 14:03:53 · 358 阅读 · 0 评论 -
c#索引指示器
using System;using System.Collections.Generic;using System.Text;namespace Test{ public class Program { private int[] mydata; public Program(int size) {...2009-04-12 13:51:42 · 144 阅读 · 0 评论 -
C#之域和属性-静态域和实例域
using System;using System.Collections.Generic;using System.Text;namespace Test{ public class Program { static void Main(string[] args) { //静态...2009-04-12 13:18:38 · 194 阅读 · 0 评论 -
.NET中的验证控件
1. RequiredFieldValidator 控件可确保用户提供有效的输入,即非空验证 属性 说明ControlToValidate 要验证控件的ID,所有验证控件都有该属性Text 出错时的提示ErrorMessage ...原创 2009-05-05 14:06:37 · 188 阅读 · 0 评论 -
C# 画圆饼分析图
Code:using System;using System.Drawing; namespace aa { public class Pie { private Graphics objGraphics; //Graphics 类提供将对象绘制到显示设备的方法 private ...2009-05-05 17:45:11 · 685 阅读 · 0 评论 -
设计模式学习笔记二:面向对象基础二
1.类与实例 对象是一个自包含的的实体,用一组可识别的特性和行为来标识。一切事物皆为对象,对象就是可以看到、感觉到、听到、触摸到、尝到、或闻到得东西。 类就是具有相同的属性和功能的对象的抽象集合。 public class Cat { //声明一内部字段,注意是private,默认叫的次数是3 private...原创 2009-05-12 14:31:36 · 77 阅读 · 0 评论 -
设计模式学习笔记二:面向对象基础一
1.类与实例 对象是一个自包含的的实体,用一组可识别的特性和行为来标识。一切事物皆为对象,对象就是可以看到、感觉到、听到、触摸到、尝到、或闻到得东西。 类就是具有相同的属性和功能的对象的抽象集合。 public class Cat { public string Shout() { ...原创 2009-05-12 14:23:04 · 62 阅读 · 0 评论 -
设计模式学习笔记一:UML类图
学习设计模式,UML类图是基础,通过UML类图,能更好地和大家交流,也能很容易就表达出自己的设计想法,它就好比普通话,是一种标准语言。现在流行的主要工具有两种:Rational Rose 和Microsoft Visio,这两种工具都比较易用,选择哪种工具就看个人的喜好了。本人对Microsoft的软件比较有好感,所以自然Microsoft Visio 2003是我的首选。类:矩形框代...原创 2009-05-12 14:06:30 · 101 阅读 · 0 评论 -
nchar,char,varchar与nvarchar区别
最近在公司里做项目,遇到一个问题,建的数据库里的中文字符和音标显示为乱码,组里的人所有字符都用varchar表示,所以出现上诉问题,当改为Nvarchar后,问题得到解决。所以有必要把他们的区别再重新复习一遍。 char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不...原创 2009-05-06 15:54:43 · 309 阅读 · 0 评论 -
Petshop 4.0 详细解释
第一部份:工厂模式一、项目名称及描述:(实现步骤为:4-3-6-5-2-1)1、WEB=表示层2、BLL=业务逻辑层3、IDAL=数据访问层接口定义4、Model=业务实体5、DALFactory=数据层的抽象工厂(创建反射)6、SQLServerDAL=SQLServer数据访问层 / OracleDAL=Oracle数据访问层DBUtility 数据库访问组件基础类二、项目引用关系1、We...原创 2009-05-06 11:04:53 · 83 阅读 · 0 评论 -
关于设计模式的问题:这样的系统应该如何设计?
对设计模式不是很熟悉,现在碰到一个比较棘手的问题,不知道应该如何设计,请大家帮忙看一看。 现在有两种用于快速处理订单的业务A、业务B,分别用于处理订单A和订单B,他们的逻辑都是相似的,基本逻辑就是: (1)初始化业务的各项基础数据 (2)接受一个订单,放入到待处理订单缓冲 (3)从待处理缓冲读取一个订单并开始处理,并将处理完的订单放入到已处理缓冲 (4)定期检测已处理缓存,当已处理缓冲区达到一定数...原创 2009-05-06 11:00:22 · 73 阅读 · 0 评论 -
C#中几种排序的方法
一,冒泡排序/// <summary> /// bubbleSort; /// /// /*理解其实程序就是思路的复述而已*/ /// </summary> /// <param name="desti">目标数组</param> /// <param name="swapTimes">交换次数&am原创 2009-05-06 09:54:10 · 135 阅读 · 0 评论 -
c#工厂模式与抽象工厂模式
工厂模式与抽象工厂模式,相信同行不会陌生.在网上及相关书里面也看过这方面的介绍(推荐这两本书:Steven John Metsker's Design Patterns in c# 和 Gof's Design Pattern Framework2.0).今天抽点时间,写点这方面的东西,希望能起到一点抛砖引玉的作用. 工厂模式与抽象工厂模式是应用得比较多的构造型模式,先简单的介绍...2009-05-06 09:48:36 · 82 阅读 · 0 评论 -
Asp.net ViewState
ASP.NET中的ViewState ViewState是ASP.NET中用来保存WEB控件回传时状态值一种机制.在WEB窗体(FORM)的设置为runat="server",这个窗体(FORM)会被附加一个隐藏的属性_VIEWSTATE._VIEWSTATE中存放了所有控件在ViewState中的状态值. ViewState是类Control中的一个域,其他所有控件通过继承C...原创 2009-08-27 14:20:17 · 109 阅读 · 0 评论