自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 C#执行顺序

有同学写了以下代码,大家想想结果是怎样的? 1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5 6namespace MyTest 7{ 8    class Program 9    {10        static void Main(string[] ar

2008-06-10 15:50:00 2399

原创 好的.NET程序员应该知道什么

任何一个使用.NET的人 描述线程与进程的区别? (进程就是一个独立的运行的程序,线程是依附于进程的,具体概念还真不清楚。) 什么是Windows服务,它的生命周期与标准的EXE程序有什么不同(Windows服务是没有运行界面的由Windows服务管理程序进行统一管理的程序,Windows服务一般随操作系统一起运行而不需要人为的启动运行。标准EXE程序运行后一般是提供了交互界面的,

2008-05-29 16:38:00 1143

转载 好的.NET程序员应该知道什么

任何一个使用.NET的人 描述线程与进程的区别? (进程就是一个独立的运行的程序,线程是依附于进程的,具体概念还真不清楚。) 什么是Windows服务,它的生命周期与标准的EXE程序有什么不同(Windows服务是没有运行界面的由Windows服务管理程序进行统一管理的程序,Windows服务一般随操作系统一起运行而不需要人为的启动运行。标准EXE程序运行后一般是提供了

2008-05-29 16:37:00 1486 2

原创 20080324----20080330

概要 初下(29---36) 中上(01---10) 开发模式 单词、课文、语法熟读会背

2008-03-24 17:04:00 739

原创 .NET代码执行顺序探讨

    通常我们设计一个.NET应用程序,无需考虑过多就可以让我们的程序正确的跑起来。但是,当我们的设计日益复杂时,稍不小心就会因为不清楚.NET代码的执行顺序以及规则而使我们陷入困境。先来个小demo,检查一下你对它了解多少吧。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Co

2008-03-11 17:08:00 999

原创 ref与out之比较

ref和out作为函数参数关键字,其相同点是都是按引用传递参数,函数体内对参数任何的改变,参数的值均会改变,所不同的是ref在传递前需要对参数先初始化,而out则无需初始化;在返回参数时,则必须在函数体内对out参数进行初始化,否则会出现编译错误。 

2008-03-11 14:34:00 810

原创 工作计划

 .Net技术  类、接口、各修饰符、及其之间的关系(继承、实现等)   反射 委托和事件 线程 XML

2008-03-11 09:11:00 678

转载 (C# 参考)volatile,lock

volatile(C# 参考)volatile 关键字表示字段可能被多个并发执行线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。volatile 修饰符通常用于由多个线程访问而不使用 lock 语句(C# 参考) 语句对访问进行序列化的字段。有关在多线程方案中使用 volatile 的示例,请参见如何:创建和终止

2008-01-22 13:53:00 1932

转载 C#中接口的显式和隐式实现

接口的实现分为:隐式实现和显式实现。如果类或者结构要实现的是单个接口,可以使用隐式实现,如果类或者结构继承了多个接口那么接口中相同名称成员就要显式实现。显示实现是通过使用接口的完全限定名来实现接口成员的。 使用显式接口成员执行体通常有两个目的:1、因为显式接口成员执行体不能通过类的实例进行访问,这就可以从公有接口中把接口的实现部分单独分离开。如果一个类只在内部使用该接口,而类的使用者不会直

2008-01-22 11:14:00 3612 1

转载 C#中Dispose和Close的区别

首先,Dispose和Close基本上应该是一样的。Close是为了那些不熟悉Dispose的开发者设计的。因为基本上所有的developer都知道Close是干吗的(特别是对于那些有C++背景的developer)。 但是当我们写code时候,如果要实现Close和Dispose的时候,要注意Close和Dispose的设计模式。.net的一些class只提供Close,而且派生自IDisp

2008-01-22 11:07:00 1408

转载 C#之修饰符-----virtual和override

virtual(C# 参考) virtual 关键字用于修饰方法、属性、索引器或事件声明,并且允许在派生类中重写这些对象。例如,此方法可被任何继承它的类重写。 复制代码public virtual double Area() { return x * y;}虚拟成员的实现可由派生类中的重写成员更改。有关使用 virtual 关键字的

2008-01-22 10:59:00 1972

转载 C#之修饰符-----abstract

 abstract(C# 参考) abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。 备注 抽象类具有以下特性: 抽象类不能实例化。 抽象类可以包

2008-01-22 10:55:00 1008

转载 .C#可否对内存进行直接的操作

摘要可以使用指针在这篇文章中我将简单的描述C#的一个特性指针和所谓的不安全代码。这个标题和C++程序员更接近一些。此外,在Java中我们没有找到这样的特性。托管代码一般来说你在写任意一个C#程序的时候,你都是在创建托管代码。托管代码是在Common Language Runtime (CLR)控制下执行的,CLR使得程序员不需要管理内存和关心内存的分配和回收。CLR也允许你写非安全代码 (

2007-07-26 09:03:00 1847

转载 XML Schema 与 XML DTD的技术比较与分析

引言 XML DTD(XML的文档类型定义)是近几年来XML技术领域所使用的最广泛的一种模式。但是,由于XML DTD并不能完全满足XML自动化处理的要求,例如不能很好实现应用程序不同模块间的相互协调,缺乏对文档结构、属性、数据类型等约束的足够描述等等,所以W3C于2001年5月正式推荐XML Schema为XML 的标准模式。显然,W3C希望以XML Schema来作为XML模式描述语言的主流,

2007-07-16 17:47:00 1380

转载 XML文件的读取用XmlDocument和XmlReader的比较

XmlReader是基于数据流的,占用极少的内存,是只读方式的,所以速度极快.只能采用遍历的模式查找数据节点。 XmlTextReader textReader = new XmlTextReader("C://myXmFile.xml");             textReader.Read();             // 节点非空则执行循环体             while (

2007-07-16 17:13:00 2281

转载 DataReader还是DataSet

我经常听到有人问这个问题:“在ASP.NET Web应用程序中我应该用DataReader类还是DataSet类呢?”在很多文章以及新闻组的贴子中我经常看到这样的误解,即认为DataReader(SqlDataReader或OleDbDataReader的缩写)比DataSet好。有时候我也会看到相反的说法。事实上,Microsoft创建了这两个数据存取类是因为它们都是我们所需要的。每个类都有其优

2007-07-12 10:37:00 759

转载 介绍 ADO.NET 中的数据并发

客户端和中间层编程中的数据访问介绍 ADO.NET 中的数据并发 当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的修改对同时操作的其他用户所作的修改产生不利的影响。处理这种情况的系统称为“并发控制”。并发控制的类型通常,管理数据库中的并发有三种常见的方法: 保守式并发控制:在从获取记录直到记录在数据库中更新的这段时间内,

2007-07-12 09:52:00 1118

转载 设计模式--Builder

一、概述在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。 建造者模式可以将一个产品的内部表象与产

2007-07-10 17:28:00 921

转载 在C#中使用代理的方式触发事件

事件(event)是一个非常重要的概念,我们的程序时刻都在触发和接收着各种事件:鼠标点击事件,键盘事件,以及处理操作系统的各种事件。所谓事件就是由某个对象发出的消息。比如用户按下了某个按钮,某个文件发生了改变,socket上有数据到达。触发事件的对象称作发送者(sender),捕获事件并且做出响应的对象称作接收者(receiver),一个事件可以存在多个接受者。在异步机制中,事件是线程之间进行

2007-07-09 14:35:00 1175

转载 开放封闭原则--OCP

一、OCP简介(OCP--Open-Closed Principle):Software entities(classes,modules,functions,etc.) should be open for extension, but closed for modification。软件实体应当对扩展开放,对修改关闭,即软件实体应当在不修改(在.Net当中可能通过代理模式来达到这个

2007-07-09 11:01:00 941

转载 sql server是先写日志还是数据

我们知道SQL是在内存缓存区中对日志和数进行操作,然后再写入物理介质上。内存中的日志缓冲区与数据缓冲区是独立管理的。那么日志和数据到底是谁先写入物理介质?还是写入顺序无关紧要呢?  一、什么是WAL  sql server2000与对没有提交的事务,在把数据写入物理介质之前,必须先把日志写和物理介质。这就是WAL(Write ahead Log),先写日志的原则。  二、为什么必须WA

2007-07-06 17:25:00 1750

转载 c#多线程编程教学:线程同步

 随着对多线程学习的深入,你可能觉得需要了解一些有关线程共享资源的问题. .NET framework提供了很多的类和数据类型来控制对共享资源的访问。  考虑一种我们经常遇到的情况:有一些全局变量和共享的类变量,我们需要从不同的线程来更新它们,可以通过使用System.Threading.Interlocked类完成这样的任务,它提供了原子的,非模块化的整数更新操作。  还有你可以使用Sy

2007-07-06 17:22:00 956

转载 C#中四种进程或线程同步互斥的控制方法

很想整理一下自己对进程线程同步互斥的理解。正巧周六一个刚刚回到学校的同学请客吃饭。在吃饭的过程中,有两个同学,为了一个问题争论的面红耳赤。一个认为.Net下的进程线程控制模型更加合理。一个认为Java下的线程池策略比.Net的好。大家的话题一下转到了进程线程同步互斥的控制问题上。回到家,想了想就写了这个东东。   现在流行的进程线程同步互斥的控制机制,其实是由最原始最基本的4种方法实现的。由这

2007-07-06 17:19:00 993

转载 C#中的多线程编程

C#是.Net平台的通用开发工具,它能够建造所有的.Net应用。在.Net中所有线程都运行在应用程序域(AppDomain)中,这也许让你想到Win32进程,实际上它们还是有很大的不同。应用程序域提供了一种安全而通用的处理单元,公共语言运行库可使用它来隔离应用程序。注意在.Net中应用程序的隔离是应用程序域而不是进程,在单个进程中可以存在几个应用程序域,而且线程可以跨越应用程序域的范围,某个线程中

2007-07-06 17:16:00 783

转载 进程和线程的区别

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口

2007-07-06 17:15:00 798

转载 类的虚拟方法与多态

首先理解一下什么叫多态。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态性通过派生类覆写基类中的虚函数型方法来实现。 多态性分为两种,一种是编译时的多态性,一种是运行时的多态性。编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。运行时的多态性:运行时的多态性就是

2007-07-06 14:19:00 1568

转载 抽象类与抽象方法

抽象类与抽象方法抽象类和抽象方法体现了C#中的另一个重要的概念,也是面向对象的重要概念,即抽象。本部分主要讨论抽象的相关话题。抽象类的定义 抽象类的用途是提供多个派生类可共享的基类的公共定义,并使用abstract关键字定义。使用abstract关键字不仅可以创建仅用于继承用途的类,也可以定义类成员,即定义派生的非抽象类的功能。如下代码定义了一个抽象类。abstract class

2007-07-06 13:44:00 1040

转载 C#中索引器的概述

C#语言一个最令人感兴趣的地方就是类的索引器(indexer)。简单说来,所谓索引器就是一类特殊的属性,通过它们你就可以像引用数组一样引用自己的类。显然,这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象某些有限资源等,能让类具有类似数组的行为当然也是非常有用的。本文就会引领你设置类来采用索引器。但是,首先让我们概述下属性这个概念以便了解些必要的背景知识。 属性 假如

2007-07-06 11:37:00 866

转载 C#接口编程之接口概述

接口(interface)用来定义一种程序的协定。实现接口的类或者结构要与接口的定义严格一致。有了这个协定,就可以抛开编程语言的限制(理论上)。接口可以从多个基接口继承,而类或结构可以实现多个接口。接口可以包含方法、属性、事件和索引器。接口本身不提供它所定义的成员的实现。接口只指定实现该接口的类或接口必须提供的成员。    接口好比一种模版,这种模版定义了对象必须实现的方法,其目的就是让这些方

2007-07-06 10:45:00 872

转载 C#接口之接口定义

从技术上讲,接口是一组包含了函数型方法的数据结构。通过这组数据结构,客户代码可以调用组件对象的功能。 定义接口的一般形式为: [attributes] [modifiers] interface identifier [:base-list] {interface-body}[;]

2007-07-06 10:44:00 2386

转载 对接口成员的访问

对接口方法的调用和采用索引指示器访问的规则与类中的情况也是相同的。如果底层成员的命名与继承而来的高层成员一致,那么底层成员将覆盖同名的高层成员。但由于接口支持多继承,在多继承中,如果两个父接口含有同名的成员,这就产生了二义性(这也正是C#中取消了类的多继承机制的原因之一),这时需要进行显式的定义: usin

2007-07-06 10:43:00 972

转载 接口成员的显示实现

(interface)用来定义一种程序的协定。实现接口的类或者结构要与接口的定义严格一致。在前面的文章中,我们已经对C#接口的概念,如何定义接口以及如何对接口进行访问等问题进行了详细的讨论。在这些知识的基础上,本文我们将来了解实现接口的方法。 显式实现接口成员为了实现接口,类可以定义显式接口成员执行体(Explicit interface member implementation

2007-07-06 10:11:00 3685 1

转载 数据库保护

目的和要求1.了解数据库备份和还原的基本方法,掌握完全备份和还原的基本技术;2.掌握SQL Server2000提供了三种封锁机制;3.掌握SQL Server2000中有关用户、角色及操作权限的管理方法;4.掌握约束、规则和默认值的概念及实施方法。内容和步骤一、数据库恢复1.数据库的备份SQL Server2000有数据库完全备份、数据库差异备份、事务日志文件

2007-07-05 18:03:00 2436

转载 设计模式之二:Adapter(适配器模式)

    适配器模式是用来解决使用不兼容的接口的问题的方案。从下面可以看到2种适配器都有3个类分别是Target,   Adaptee,adapter.                     client希望使用的是Target.request()                     而既有类使用的是Adaptee.SpecificRequest()                     r

2007-07-05 17:21:00 1203

转载 设计模式之Observer

        具体的说,如果网上商店中商品在名称 价格等方面有变化,如果系统能自动通知会员,将是网上商店区别传统商店的一大特色.这就需要在商品product中加入Observer这样角色,以便product细节发生变化时,Observer能自动观察到这种变化,并能进行及时的update或notify动作.观察者模式(Observer)完美的将观察者和被观察的对象分离开。举个例子,用户界面可以

2007-07-05 17:12:00 760

转载 Dot Net设计模式—适配器、桥接与外观三模式之间的关系

这几天一直在研究各种各样的设计模式,在学习适配器模式、桥接模式和外观模式模式的时候,发现他们之间存在着一定的关系,实际上模式不适单一存在的,在我们的现实编程生活中往往是几种模式结合使用的。1.适配器模式与桥接模式的区别和联系适配器模式和桥接模式都是间接引用对象,因此可以使系统更灵活,在实现上都涉及从自身以外的一个接口向被引用的对象发出请求。两种模式的区别在于使用场合不同,适配器模式主要解决

2007-07-05 17:03:00 911

转载 设计模式之Singleton(单态模式)

做sharp机型 :1. 我所做sharp 机型 用 http 连接 。不用代理2. 用Command 命令 。3. 声音的播放 spf文件(GX32), 其它可用 mid 文件.4. 示例jad :    香港sharp机型:        MIDlet-1: ***OnLine,/icon.png,Main        MIDlet-Data-Size: 1000        MIDl

2007-07-05 16:59:00 842

转载 设计模式之抽象工厂模式

概述  在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。   意图  提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。  模型图  逻辑模型:

2007-07-05 15:19:00 755

转载 设计模式之Composite

 Composite定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来

2007-07-05 15:00:00 582

转载 设计模式探索系列之Bridge模式

概述   在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。   意图  将抽象部分与实现部分分离,使它们都可以独立的变化。[GOF 《设计模式》]  结构图图1 Bridge模式结构图  生活中的例子    桥接模式将抽象部分

2007-07-05 13:58:00 710

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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