- 博客(20)
- 资源 (33)
- 收藏
- 关注
原创 C#设计模式之15——命令模式
职责链沿着类组成的链转发请求,而命令模式只是把请求转发给某个特定的对象。把针对某种特定行为的请求封装在一个对象中,并为请求指定一个大家所知的共有接口。让客户端可以实现无需对将要完成的实际行为做任何了解的情况下创建请求,并允许在不影响客户端程序的情况下以任何方式修改行为。我们的C#桌面应用程序中,按钮的代码一般都会自动的生成一个函数,与应用程序界面代码混合在一起,但是如果按钮多了的话,对于代码的
2012-02-29 12:41:14 3925
原创 C#设计模式之14——职责链模式
职责链模式允许多个类尝试着去处理一个请求,在这种情况下,这些类中的任何一个都不了解其他类的功能。该模式在这些类中提供一个松散耦合,唯有的共同联系是他们直接传递的请求。请求一直沿着链传递,知道有一个类能处理位置。典型的例子就是应用软件的帮助系统,如果某个按钮有帮助信息,就会显示信息,否则则把帮助请求传递给下一模块,最终的情况是,消息被发送个一个广泛的帮助类,显示一个通用的帮助信息。这个数据结构非
2012-02-28 13:30:32 2475 1
原创 C#设计模式之——结构型模式总结
结构型模式总结:1. 适配器模式 http://blog.csdn.net/weixingstudio/article/details/7288368 用于把一个类的接口改变成另外一个类的接口。 2. 桥接模式 http://blog.csdn.net/weixingstudio/article/details/728998
2012-02-27 20:01:12 1515
原创 C#设计模式之13——代理模式
在需要使用一个比较简单的对象来表示一个复杂的或者花费时间创建的对象时,就需要用到代理(Proxy)模式。如果创建对象需要的时间开销较大或者需要较多的计算机资源,代理模式允许你把这一创建过程推迟到需要用到实际的对象时才进行。代理通常有着与其所代表的对象一样的方法,一旦对象被载入,其就把方法调用从代理传递给实际对象。 一下情况可以使用代理模式:1. 大图像一类的对象,需要很长的加载时间。
2012-02-27 19:49:57 2366 1
原创 C#设计模式之12——享元模式
享元模式用于避免在大量非常相似的类方面的开销。在编程的时候可能会遇到需要生成大量的很小的用于表示数据的类实例。如果能意识到除了少数的几个参数之外,实例基本上都是相同的这一特性,就可以极大的降低需要实例化的不同类的数据。如果可以把这些参数变量移动到类的外部,并把他们作为方法调用参数传递到类实例中,就可以通过共享实例的方式来大大的减少单独实例的数目。享元模式中,内部数据确定了实例的唯一性,外部数据
2012-02-27 14:32:07 2801
原创 C#设计模式之11——外观模式
外观模式被用来把一组复杂的类包装在一个比较简单的封装接口中。随着类的不断发展,可能会存在一些复杂的子系统,并且每个子系统有着自己复杂的接口。外观模式允许通过给这些子系统提供一个简化了的接口来降低这一复杂性。在降低复杂性的同时,用户也可以自己选择直接使用底层的方法。在C#中ADO.NET的组件有着非常复杂的数据应用,我们这里的例子就是对ADO.NET组件中的类进行封装,提供一个比较简单的对数
2012-02-26 21:33:30 1980
原创 C#设计模式之10——装饰器模式
装饰器模式提供了一种在无需创建新的派生类的情况下修改个体对象行为的方式。假设我们需要给工具栏中的按钮添加一个特殊的边框,如果我们创建一个新的派生出来的按钮类,那么就意味着这一新类的所有按钮都会有相同的特殊的边框,这可能并不是我们最初想要的结果。替代的做法是,我们可以创建一个装饰器类来修饰按钮,然后从这一主修饰器类中派生出任意特定的装饰器,每个装饰器完成某种特定类型的装饰。这是另一种对象包含比对
2012-02-26 16:11:03 5008
原创 C#设计模式之9——组合模式
一般情况下,组件可以是单独的一个对象,也可以是对象的组合,组合模式就是为了迎合这两种情况进行设计。组合可以被用来构建部分-整体层次结构,或者是构造树形的数据表示方式。组合是对象的集合,而其中的任何一个对象又可能是一个组合,或者是一个简单的对象。在树形结构中,访问组合中所有的对象要求有一个简单的单一访问接口,但同时要求能够区分开节点和叶子。在构造组合的时候,我们需要决定哪个节点是元素哪个是叶子。
2012-02-24 17:14:44 4231 3
原创 C#设计模式之8——桥接模式
桥接(Bridge)模式很像适配器模式,两者都是使用类把一种接口转换为另一种接口;然而,适配器的意图是使得一个或者多个类的接口与某个特定类的接口看起来一样,而桥接模式的设计目标是分离类的接口和实现,这样就可以变更或是更换实现而无需修改客户端的代码。这也就是平时我们说的非常多的面向对象编程可以把接口和实现分离开来,然而大部分的功能还是要通过类的多态性来实现,以及通过接口访问实现类的成员。 桥
2012-02-24 12:38:08 4807
原创 C#设计模式之7——适配器模式
适配器(Adapter)模式的作用是把一个类的编程接口转换成另外一个类的编程接口,任何时候只要是想让一些无关的类在某个程序中相互配合,一起工作,都可以使用适配器模式。适配器的概念相当简单:编写一个有着 所希望的接口的类,让后让该类与其他有着不同接口的类进行沟通。有两种方法可以做到这一点:通过继承和通过对象组合。在继承方法中,我们从不适用的对象中派生出一个新的对象,然后添加所需要的方法使得新
2012-02-23 20:37:27 2886
原创 C#设计模式之——结构型模式导引
结构型模式描述了如何把类和对象组合起来以形成更大的结构。 类模式和对象模式的区别为:1. 类模式描述的是如何能够通过继承来提供更加游泳的编程接口。2,对象模式描述的则是如何通过使用对象组合或者对象对其他的对象的包含来创建更大型的结构。 例如:适配器模式可以用来使得一个类的接口与其他的类相匹配,就会使得编程更加容易。组合模式就是一种对对象的组合,组合中每个对象可能是一种简单的对象,也
2012-02-23 13:58:44 1267
原创 C#设计模式之——创建型模式总结
在所有的创建型模式中,处理的都是创建对象的方法,程序不应该依赖于创建和安排对象的方式。许多情况下,被创建的对象的确切特性可能因为程序需要而不同,因此把创建过程抽象到一个特定的创建者类中,可以使得程序更加灵活通用。 1. 简单工厂模式:http://blog.csdn.net/weixingstudio/article/details/72344232. 工厂方法模式:http://bl
2012-02-23 13:49:30 1415
原创 C#设计模式之6——原型模式
一般情况下,目标类克隆原型中的数据,然后加以改造利用构造自己可以利用的数据。目标类通过克隆一个或多个原型类来构造,然后再修改或者是填充克隆出来的类的细节以使得其行为符合预先期望。 原型模式一般设计对父类数据的克隆问题。 一般情况下,如果一个类包含一个数组成员,并且这个类实现了ICloneable接口,那么这个类就可以使用Clone()方法来进行克隆,但是克隆是否符合我们的要求就不一定了
2012-02-20 22:30:21 3082
原创 C#设计模式之5——生成器模式
工厂模式一般都是根据传递给创建方法的参数来返回不同的几个子类的一个,不过如果我们需要的不仅仅是一个算法,还需要显示数据,不同的子类要有不同的显示数据方法,需要一个完全不同的用户界面,这样我们就可能需要生成器模式了。 生成器模式中,返回的并不是基本显示对象的子类简单代码,而是显示对象的不同组合构成的完全不同的用户界面。生成器模式根据数据,以多种方式把注入显示控件一类的许多对象组装在一起,通过
2012-02-18 22:55:17 3168 1
原创 C#设计模式之4——单件模式
1. 简单工厂模式:http://blog.csdn.net/weixingstudio/article/details/72344232. 工厂方法模式:http://blog.csdn.net/weixingstudio/article/details/72347003. 抽象工厂模式:http://blog.csdn.net/weixingstudio/article/details
2012-02-17 13:38:50 3011
原创 C#设计模式之3——抽象工厂模式
1. 简单工厂模式:http://blog.csdn.net/weixingstudio/article/details/72344232. 工厂方法模式:http://blog.csdn.net/weixingstudio/article/details/7234700 声明:本文章参考引用《C#设计模式》(科学出版社)一书。 抽象工厂(Abstract Factory)模式
2012-02-09 17:52:56 3645
原创 C#设计模式之2——工厂方法模式
上一个设计模式连接: http://blog.csdn.net/weixingstudio/article/details/7234423这个CSDN的编辑器不是很好用,不知道为什么插入代码以后就没有了文本编辑的地方,结果后来的所有文本都以代码显示了。 在简单工厂模式中,需要由某个类充当指挥者,决定集成层次中的哪一个子类被实例化。 工厂方法(Factory Method)
2012-02-05 14:33:34 3140 1
原创 C#设计模式之1——简单工厂模式
本人最近学习C#设计模式,所以把自己学到的东西写出来和大家分享一下。关于C#的设计模式将会有一个专题来写。 在OO编程中最常用到的一个模式就是简单工厂(Simple Factory)模式。简单工厂模式根据提供的数据或者参数返回几个可能的类中的一个实例,说通俗点有点像面向对象编程中的多态性,一个基类,有多个派生类,在另外的调用程序中,根据参数来决定返回这个基类的哪个具体的派生类,返回值为
2012-02-05 10:27:58 11388 6
原创 c#中Encoding的不同编码方式的区别
最近了解了一下C#中Encoding的不同编码方式的区别,和大家分享一下,如果有不对的地方还请各位批评指教。 简单的说,为什么需要编码? 比如,我们的计算机中需要表示字母'a','b'等等字母,然而这些字母如何在计算机内存中表示?众所周知,在计算机内存中数据是以二进制来表示的,这样,我们就需要将这些需要表示的字母和数字或者符号转换成能在计算机中表示的二进制表示,这就是编码的意义所在。
2012-02-03 20:48:54 6934
原创 一字棋游戏设计-极大极小搜索
1. 问题定义一字棋游戏,包括两个选手。用户可以在一个3*3的棋盘上任意的选择空闲的位置拜访棋子,最早在水平方向上,或者垂直方向上或者对角线方向上形成三子一线者获胜。棋盘如图1所示。这里我们实现的是用户和计算机进行对弈。本程序要实现的是让计算机可以自动的根据当前棋局计算下一步对自己最有利的走步,尽可能的朝着可以让计算机获胜的方向走步。需要采用极大极小搜索算法。图1.一字棋棋盘
2012-02-02 13:40:50 15358 3
AdaBoost人脸检测程序
2012-06-04
计算机程序设计艺术
2012-05-27
网络聊天源代码
2012-05-14
Microsoft SQL Server 2008 Step by Step
2010-04-22
信号与系统 实习报告 线性系统分析
2008-12-12
数据库综合实习论文 图书馆管理系统
2008-11-27
计算机图形学实习代码 全部 c++ openGL
2008-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人