Dragon in the sky

whatever happened , go ahead! Happy life of big pig and its dog.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  OOP

摘要:设计模式之Factory 板桥里人 http://www.jdon.com 2002/10/07(转载请保留) 工厂模式定义:提供创建对象的接口. 为何使用?工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。 为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=n... 阅读全文

posted @ 2009-12-29 17:52 龙泰 阅读(302) 评论(0) 推荐(0) 编辑

摘要:版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lixinghua.blog.51cto.com/421838/96921 3.7、抽象类与接口的实际应用{百分百的重点} 开发原则: 在类的开发之中,一个类不会去继承一个已经实现好的类,只会继承抽象类或实现接口。 即:以下的代码是不应该出现在程序之中的: class A... 阅读全文

posted @ 2009-12-29 14:51 龙泰 阅读(903) 评论(2) 推荐(1) 编辑

摘要:什么是中间件? IDC给出的一个定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 从这些定义中可以看出: ·中间件是一类软件,而非一种软件; ·中间件不仅仅实现互连,还要实现应用之间的互操作; ·中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。 什么是Web Services?... 阅读全文

posted @ 2009-12-25 12:38 龙泰 阅读(783) 评论(0) 推荐(0) 编辑

摘要:想必很多人都对正则表达式都头疼.今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式.来和大家分享学习经验.  开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明   "^The": 开头一定要有"The"字符串;   "of despair$": 结尾一定要有"of despair" 的字符串;   那么,  "^abc$": 就是要求以abc开... 阅读全文

posted @ 2009-12-23 16:35 龙泰 阅读(186) 评论(0) 推荐(0) 编辑

摘要:创建型模式1、FACTORY一追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向... 阅读全文

posted @ 2009-12-23 16:23 龙泰 阅读(230) 评论(0) 推荐(0) 编辑

摘要:在多线程的情况下,其它线程无法直接调用到主线程上的控件,只能通过代理来实现主线程上控件的调用。1、定义委托  // 执行任务的委托声明(解决长任务死假)  delegate void RunTaskDelegate(int seconds);  // 显示进度条的委托声明(跨线程调用控件)  delegate void ShowProgressDelegate(int totalStep, int... 阅读全文

posted @ 2009-12-23 16:12 龙泰 阅读(349) 评论(0) 推荐(0) 编辑

摘要:Abstract Factory 抽象工厂设计模式简单工厂模式虽然实现了使对象的创建与使用进行分离,但一次只能创建一个对象。它不能实现一次创建一系列相互依赖对象的需求,为此我们需要学习抽象工厂模式。抽象工厂:主要功能是生产抽象产品; 如:生产学员、管理员等抽象产品。 抽象产品:主要功能是提供实体产品访问接口; 如:提供学员、管理员等实体产品数据访问的接口。 实体工厂:主要功能是生产实体产品; 如:... 阅读全文

posted @ 2009-12-23 11:20 龙泰 阅读(321) 评论(1) 推荐(0) 编辑

摘要:XML 序列化简介 This page is specific to:.NET Framework Version: 2.03.03.5 XML 序列化简介 序列化是将对象转换成易于传输的形式的过程。例如,可以序列化对象,并使用 HTTP 通过 Internet 在客户端和服务器之间进行传输。另一方面,反序列化在流中重新构建对象。 XML 序列化只将对象的公共字段和属性值序列化为 XML 流。XM... 阅读全文

posted @ 2009-12-18 16:09 龙泰 阅读(408) 评论(0) 推荐(0) 编辑

摘要:.net内存回收与Dispose﹐Close﹐Finalize方法 一. net的对象使用一般分为三种情况﹕ 1.创建对象2.使用对象3.释放对象 二.创建对象1.创建对象实际分为两个步骤﹕变量类型宣告和初始化对象 2.变量类型宣告(declare),如﹕ FileStream fs这行代码会在当前的变量作用域空间(栈或堆)里建立一个叫做fs的变量﹐至少四个字节吧(因为要存一个对象的地址... 阅读全文

posted @ 2009-12-17 09:46 龙泰 阅读(196) 评论(0) 推荐(0) 编辑

摘要:委托除了实现事件外,还能够实现很多非常有用的语言特性。1、Lambda 表达式。Lambda 表达式有两种存在方式,一是匿名委托,而是表达式树。2、匿名方法。不指定名称的委托成为匿名委托。有时候非常有用,如在绑定事件处理程序或者创建线程时。3、多线程同步以及跨线程操作。4、泛型委托。5、基于委托的逆变 (Contravariance) 和协变 (Covariance)。 跨线程访问实例 不允许在w... 阅读全文

posted @ 2009-12-15 10:56 龙泰 阅读(1457) 评论(0) 推荐(1) 编辑

摘要:1.如果可能尽量使用接口来编程   .NET框架包括类和接口,在编写程序的时候,你可能知道正在用.NET的哪个类。然而,在这种情况下如果你用.NET支持的接口而不是它的类来编程时,代码会变得更加稳定、可用性会更高。请分析下面的代码:  这个函数从一个可为任何对象的数组中加载ListBox,这段代码被限定为只能使用数组。假想过些时候你发现那些对象存在数据库中,或别的集合中。那么你需要修改程序来使用不... 阅读全文

posted @ 2009-12-03 18:03 龙泰 阅读(236) 评论(0) 推荐(0) 编辑

摘要:声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中... 阅读全文

posted @ 2009-12-03 17:42 龙泰 阅读(844) 评论(0) 推荐(0) 编辑

摘要:接口1.接口只提供方法规约,不提供方法体;2.接口中的方法不能用关键字修饰;3.接口里不能有接口和变量;4.接口里的方法在子类中必须全部实现;5.接口可以实现多重继承;抽象类1.抽象类可以从接口继承;2.抽象类中的实体方法在子类中不可以重写,只可以被引用;3.抽象类中的抽象方法不可以有方法体,抽象类中的抽象方法在子类中必须重写;4.抽象类中的虚方法在子类中可以选择性的重写;虚方法1.可以在子类选择... 阅读全文

posted @ 2009-09-27 18:36 龙泰 阅读(509) 评论(1) 推荐(0) 编辑

摘要:线程安全-单例模式 2008-12-17 15:36 线程安全性的定义:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。   或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题... 阅读全文

posted @ 2009-09-27 14:04 龙泰 阅读(4090) 评论(0) 推荐(0) 编辑

摘要:上下文 实现策略 结果上下文 上下文 您要在 C# 中构建应用程序。您需要只有一个实例的类,并且需要提供一个用于访问实例的全局访问点。您希望确保您的解决方案高效,并且能够利用 Microsoft? .NET 公共语言运行库功能。您可能还希望确保解决方案是线程安全的。 返回页首 实现策略 尽管 Singleton 是一种相对简单的模式,但是存在与具体实现有关的不同权衡因素和选项。下面是一组实现策略... 阅读全文

posted @ 2009-09-27 11:22 龙泰 阅读(443) 评论(0) 推荐(1) 编辑

摘要:详细解释下 const 常量 和 readonly 常量 的区别吧。前者是编译时常量,后者是运行时常量。一般的,Java阵营认为不需要区分两者,把编译时常量和运行时常量交给编译器去区分就可以了,所以在Java里面仅有一种常量 final。而 C# 则是让程序员自己能够定义。但是,在 Effective C# 的书中,作者强烈建议使用运行时常量 readonly 而不是编译时常量 const,为什么... 阅读全文

posted @ 2009-09-27 11:17 龙泰 阅读(273) 评论(0) 推荐(0) 编辑

摘要:一、C#构造函数?Construct,Function 构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化. 构造函数具有一些特殊的性质: (1)构造函数的名字必须与类同名; (2)构造函数没有返回类型,它可以带参数,也可以不带参数; (3)声明类对象时,系统自动调用构造函数,构造函数不能被显式调用; (4)构造函数可以重载,从而提供初始化类对象的不同方法; (5)若... 阅读全文

posted @ 2009-09-25 17:59 龙泰 阅读(349) 评论(0) 推荐(0) 编辑

摘要:本文中的默认构造函数是指在没有编写构造函数的情况下系统默认的无参构造函数 1、 当基类中没有自己编写构造函数时,派生类默认的调用基类的默认构造函数 Ex: public class MyBaseClass { } public class MyDerivedClass : MyBaseClass { public MyDerivedClass() { Console.WriteLine("我是... 阅读全文

posted @ 2009-09-25 17:11 龙泰 阅读(10650) 评论(0) 推荐(1) 编辑

摘要:C#的类中可以包含两种方法:C#静态方法与非静态方法。那么他们的定义有什么不同呢?他们在使用上会有什么不同呢?让我们来看看最直观的差别:使用了static 修饰符的方法为静态方法,反之则是非静态方法。 下面我们分四个方面来看看C#静态方法与非静态方法的差异: C#静态方法与非静态方法比较一、C#静态成员: ①静态成员属于类所有,非静态成员属于类的实例所有。 ②每创建一个类的实例,都会在内存中为非静... 阅读全文

posted @ 2009-09-25 11:09 龙泰 阅读(496) 评论(0) 推荐(0) 编辑

摘要:静态和非静态的方法C#的类定义中可以包含两种方法静态的和非静态的使用了static 修饰符的方法为静态方法反之则是非静态的静态方法是一种特殊的成员方法它不属于类的某一个具体的实例非静态方法可以访问类中的任何成员而静态方法只能访问类中的静态成员看这个例子class A{int x;static int y;static int F() {x = 1; //错误不允许访问y = 2 //正确允许访问}... 阅读全文

posted @ 2009-09-25 10:34 龙泰 阅读(326) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示