自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

转载 .NET系统架构设计与开发

<br /> <br /> <br />.NET系统架构设计与开发<br />我们在做着表面上看似是对于各种不同应用的开发,其实背后所对应的架构设计都是相对稳定的。在一个好的架构下编程,不仅对于开发人员是一件赏心悦目的事情,更重要的是软件能够表现出一个健康的姿态;而架构设计的不合理,不仅让开发人员受苦受难,软件本身的生命周期更是受到严重威胁。这里我将针对在微软dotNet平台上做应用开发系统的一般架构流程设计做一个粗浅的讨论。<br /> <br />总体设计图<br /><br /> <br /> 表示层

2010-12-31 21:10:00 954

原创 定制特性和反射

定制特性可以直接影响代码的运行方式.Net 允许用户在各个数据项上定义特性,也允许用户定义自己的特性.这些特性不会影响编译过程,编译器不能识别他们,但这些特性在应用于程序元素时,可以在编译好的程序集中用作元数据.并通过反射读取他们,使它们在运行时做出决策.即定制特性可以直接影响代码的运行方式.编译器遇见特性时的处理[FieldName("SocialSecurityNumber")]public string SocialSecurityNumber{   //...}编译器发现这个属性有一个特性Field

2010-10-31 13:29:00 383

转载 异步编程

<br />让我们来看看同步异步的区别:<br />同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果<br />异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执行其它操作<br /><br />.NET框架基类库中有好几种类都可以提供同步和异步的方法调用。<br />因为同步方法调用会导致程序流程中途等待,所以采用同步方法的情况下往往会导致程序执行的延迟<br />相比来说,在某些条件下选择异步方法调用就可能更好一些<br />例如,有的时候程序需要给多个Web服务发出请求

2010-10-29 13:28:00 361

原创 委托的BeginInvoke 和 EndInvoke及构造

<br />1.Delegate 构造<br />   protected Delegate ( Object target, string method)target 类实例,委托对其调用 method 委托表示的实例方法的名称定义一个委托 public delegate void myEventHandler(int i,out string o);CLR为我们做了4件事情<br />1.定义一个构造器<br />2.定义一个虚方法BeginInvoke<br />3.定义一个虚方法En

2010-10-29 12:37:00 610

转载 委托和事件

紧耦合<br />  从前,在南方一块奇异的土地上,有个工人名叫彼得,他非常勤奋,对他的老板总是百依百顺。但是他的老板是个吝啬的人,从不信任别人,坚决要求随时知道彼得的工作进度,以防止他偷懒。但是彼得又不想让老板呆在他的办公室里站在背后盯着他,于是就对老板做出承诺:无论何时,只要我的工作取得了一点进展我都会及时让你知道。彼得通过周期性地使用“带类型的引用”(原文为:“typed reference” 也就是delegate??)“回调”他的老板来实现他的承诺,如下:<br />class Worker {<

2010-10-28 14:42:00 305

原创 Oracle 存储过程

<br />         test

2010-06-13 10:15:00 291

原创 对泛型的一些理解

<br />看到很多程序员都喜欢用IList作为返回类型:实体类作为参数,泛型参数可以是值类型,也可以是引用类型,ProductInfo可以是其他对象,这我知道,可问题在这,这里放其他类型有意义吗,比如把ProductInfo改成其他的实体类,下面的很多代码还是得改啊,比如 <br />ProductInfo product = new ProductInfo(rdr.GetString(0), rdr.GetString(1), rdr.GetString(2), rdr.GetString(3), rd

2010-06-10 14:11:00 356

转载 从此弃IList从List

<br />刚开始接触.net2.0的时候,我是从pet shop4.0看起的。 <br />确实pet shop4.0运用了很精湛的架构设计,也曾一度让我深深迷恋其中。 <br />也是那个时候,我才开始认识IList<T>这个东东,也曾经唯IList<T>是从,非IList<T>不用。 <br />渐渐地,问题来了,首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口。 <br />它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的

2010-06-10 13:44:00 497

原创 IDictionary与IDictionaryEnumerator

IDictionary 接口是键/值对的非通用集合的基接口。每个元素都是一个存储在 DictionaryEntry 对象中的键/值对。IDictionary 实现有三种类别:只读、固定大小、可变大小。无法修改只读 IDictionary 对象。固定大小的 IDictionary 对象不允许添加或移除元素,但允许修改现有元素。可变大小的 IDictionary 对象允许添加、移除和修改元素。C# 语言中的 foreach 语句(在 Visual Basic 中为 for each)需要集合中每个元素的类型。由

2010-06-10 13:18:00 4335 2

原创 ICollection实现

ICollection 继承自IEnumerable实现的时候需要实现int ICollection.Count                             bool ICollection.IsSynchronized                           object ICollection.SyncRoot                           void ICollection.CopyTo                           IEnumerat

2010-06-10 12:55:00 551

原创 对IComparable,IComparer,IEnumerable,IEnumerator的理解

IComparable接口要实现CompareTo方法,并且一定要通过值可以排序的类型来实现,例如基本数值类型(整型等),或者字符串,看下面的代码可能易懂一点:public class Temperature : IComparable { protected double temperatureF; public int CompareTo(object obj) { if(obj is Temperature) { Temperature oth

2010-06-09 15:46:00 483

转载 IComparer 和 IComparable

<br />    本文分步介绍了两个接口的使用: IComparer 和 IComparable 。 这些接口同一文章中讨论有两个原因而定。 经常一起,用于这些接口,并且尽管接口类似 (并具有类似名称),它们用途不同。<br />    如果数组类型 (如 字符串 或 整数 ) 已支持 IComparer 可以不提供任何显式引用为 IComparer 排序数组。 在这种情况下该数组的元素会转换为 IComparer ( Comparer.Default ) 的默认实现,为您。 但是,如果想要为自定义的对象

2010-06-09 14:55:00 941

原创 getHashCode()

<br />getHashCode() 取值范围是 int.MinValue ~ int.MaxValue<br />它的算法将数字左移动16位,再与原来的数字进行异或操作,最后将结果乘以16进制数15051505<br /> <br />一般用法:<br />      GetHashCode函数一般是在操作HashTable或者Dictionary之类的数据集的时候被调用,其目的是产生一个没有歧义的key。也可以像toString() 或Equals()函数一样重写它。<br />        对于G

2010-06-09 14:36:00 2336 1

原创 基础

1.System.Collection  类名空间    ArrayList 类    BitArray 类         BitArray类是一个比特数组,数组的大小在创建对象的时候已经确定,每个数据元素只能表示一个比特,元素的值只能是1与0,其中用true表示1,用false表示0,当用其他数据类型的元素初始化该对象时,那么每个元素将占用该类型在内存中存储长度的数组空间。           and(BitArray value)    BitArray中的元素执行按位“与”运算          n

2010-06-09 13:14:00 425

原创 存储过程基础

<br />1.基本语法<br />   Create or replace procedure POC_TEST<br />   (<br />           参数1   in Number;<br />           参数2   in Number;<br />           参数3   表名.字段名%Type<br />   )IS<br />   <br />   变量1 Integer :=0;<br />   变量2 Date<br /> <br />  begin<br />

2010-06-09 09:53:00 284

原创 Char ,Varchar 与 VarChar2

1  Char 的长度是固定的     比如Char  VarChar 定义了20的字符长度, 如果存储入 "abc" 字符串的话 Char 将占用20的长度,而Varchar按实际长度保存    当使用union查询不同表时 可以使用to_char() 函数使字段长度保持一致,避免出错2 Char 的效率比VarChar高3 目前VarChar 与 VarChar2是同义词     工业标准的VarChar 可以存储空字符串,但是Oracle不这样做,它自己开发了一个类型VarChar2 使其可以保存Nu

2010-06-09 09:08:00 301

原创 垃圾回收机制

<br />面试被问到了垃圾回收问题,这个方面的知识一直没怎么注意。借鉴了网上一些资料现将该知识罗列一下。<br /> <br />  .net的垃圾回收,借鉴了java的垃圾回收机制。以前winForm程序由于没有垃圾回收机制,程序员往往忘了显示的释放资源,导致资源占用越来越多。最终导致系统的崩溃。有了垃圾回收机制,解决了这一问题。<br />  1 .Net 垃圾回收的范围<br />     在.Net中 存在两种变量,值变量和引用变量。 值变量是放在线程栈上的,而引用变量是放在托管堆上的。 .Net

2010-06-08 17:22:00 359

Tcp,Client,Server调试工具

很实用的工具。可指定IP,端口号进行调试。作为服务端进行监听,作为客户端进行数据发送。可以以十六进制进行数据发送。

2022-11-27

Sybase内部培训

Sybase公司(上海)内部培训资料 6个PPT文件 基本详细的介绍了SYBASE数据库的结构及SQL方言。 是学习Sybase的首选资料

2010-12-12

空空如也

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

TA关注的人

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