- 博客(31)
- 资源 (2)
- 收藏
- 关注
原创 C/C++中的const修饰符
const修饰符一般来说有这几个作用:定义常量,修饰函数参数,修饰函数返回值,在C++中定义恒态函数(即不改变类中的数据成员)等。
2011-03-07 22:43:00 885 3
转载 JAVA设计模式-Visitor
作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.在Java中,Visitor模式实际上是分离了collection结构中的元素和对这些元素进行操作的行为.
2011-03-03 17:16:00 1636
原创 JAVA设计模式-Interpreter
解释器模式实现一个简单的文法分析器,个人认为使用不是很广泛。简单的来说,就是它定义了对象与对象之间进行某种操作之后会得到什么值。学过编译原理之后,会对这个模式有更深刻的理解。
2011-03-02 20:39:00 2295
原创 JAVA设计模式-State
一个对像有不同的状态,不同的状态有不同的行为。也许你会说在方法里加上switch case语句就行了,这样的确能实现这样的方法,但是,就像前面一些设计模式的目的一样,这种方法不具可扩展性,因此我们需要一种设计模式来实现这个功能,并且需要提供可扩展性,因此,就有了状态模式。
2011-03-02 20:10:00 837
原创 JAVA设计模式-Mediator
中介模式实际就像是房屋中介一样,中介维护了一个列表,这个列表包含了各个客户的房屋信息,当某一个客户的房屋信息有了改变之后,这个中介就负责通知自己维护的那个列表中的所有用户某某某进行了改变。
2011-03-01 22:11:00 716
原创 JAVA设计模式-Chain of Responsibility
职责链模式顾名思义是一个链条,在这个链条上的所有节点都可以处理请求,但是在某一种情况下,哪一个节点来处理这个请求是运行时决定的,但是客户端不需要知道具体是谁来处理,他只需要将请求交给一个节点就行了,当这个节点可以处理时,它就处理并返回给客户端,当它不能处理时,将这个请求传给职责链上的下一个节点,依次下去,直到请求被处理或者达到链条的最后一个节点。
2011-03-01 20:57:00 893
原创 JAVA设计模式-Strategy
策略模式让用户可以选择执行一个动作的方法,也就是说,用户可以选择不同的策略来进行操作。例如排序,用户可以选择较大的放前面,也可以选择较小的放前面,或者是按照自定义的顺序来放,这个自定义的顺序必须按照一定的策略得到,用户必须自己实现这样的策略。
2011-02-25 16:28:00 679
转载 JAVA设计模式-Observer
Java提供了Observer模式的默认实现,下面我们就看一下Java对观察者模式的支持。 Java对观察者模式的支持主要体现在Observable类和Observer接口。
2011-02-24 15:43:00 2311
原创 JAVA设计模式-Command
Command模式就像linux的shell命令一样,输入一条命令,它就能执行相应的操作。例如,我们想要打开电视机,我们不需要用tv.turnOn()这样的方法来打开,而是类似command.exe("turn on the TV")这样的语句。把命令封装起来有一个好处,我们可以记录下执行过哪些命令,在什么时间执行的,是谁执行的。当然,不使用命令模式也可以实现这样的功能,我们只需要在类似tv.turnOn()这个方法内部加上log就行了,或者是我们在客户端加上log。虽然这是一个解决方案,但是不是最
2011-02-23 15:27:00 812
转载 JAVA设计模式-Decorator
刚看了一篇博客,讲装饰器模式的,我觉得写得很清楚,我自己就没写了,只是把代码整理了一下,顺便说一下,所有设计模式的代码我都进行了整理,后面我会放到csdn上,这些代码大多数来时internet,但是我会把代码进行简化,让它能够突出设计模式的概念。下面是转帖的内容。
2011-02-23 11:18:00 1044
原创 JAVA设计模式-Facade
Facade模式翻译成零售商模式我想更加容易理解。当你想要买一块香皂的的时候,你肯定不会去香皂厂买,而是去超市买,同样,买衣服买手机都不会去厂家,而是去零售商家。
2011-02-22 20:17:00 1878
原创 JAVA设计模式-Bridge
1.把描述一个事物的所有维度放在一个类里面;2.在某个或者某些维度的长度增加或者减少或者改变时,不能更改原有的类。
2011-02-21 20:58:00 1362
原创 JAVA设计模式-Adapter
有些时候,我们想要使用一些类的某个功能,但是发现这个类提供的接口不符合我们的要求,这个时候就需要让这个接口符合要求,最直接想到的办法就是去改这个接口,但是这个办法明显违背了面向对象的原则。所以,为了解决这个办法,就提出了Adapter模式。Adapter模式分为两种,一种是类Adapter,一种是对象Adapter,后面将对这两种方法进行详细的解释。
2011-02-17 13:43:00 925
原创 JAVA设计模式-Prototype
Prototype是很容易理解也很容易使用的一个设计模式,他的意思就是说,我给你一个原型,你照着这个原型给我做一个就行了,至于做好之后我要怎么去修改它让他符合新的需求,这就不管Prototype模式的事了。
2011-02-17 11:09:00 1500 1
原创 JAVA设计模式-Builder
Builder设计模式类似于Factory,都是用于生产一种产品,但是他们之间还是有一些区别的。至于有什么区别,仁者见仁,智者见智,我会在介绍完Builder模式之后说说我自己的看法,当然我的想法也参考了很多其他人的看法。
2011-02-16 16:26:00 8556 3
原创 JAVA设计模式-Singleton
近来一直在研究JAVA的设计模式,看了很多别人的文章和源码,自己也写了一些,算是有一些认识吧,我想要把这些想法都记录下来。23个设计模式算很多了,希望我能有时间,也有毅力能够坚持下来。下面就是第一个设计模式,Singleton。
2011-02-15 09:24:00 859 1
原创 在C++的CLASS里面使用CUDA
最近一直在封装原来做的一些模块,汗啊,要是原来就用C++写,这些工作都省了,主要还是我太懒了,哎。开勇哥在他的博客里讲过怎么在C++类里面如何使用CUDA,但是我还是没看懂,于是自己研究了一下,并请教了一下公司的工程师,最终OK。理论不说了,我给一个例子吧,相信大家看了这个例子就会了。在这个例子里面一共有4个文件,分别是: CCLASS.hCCLASS.cppkerne
2010-02-04 15:59:00 1050
原创 矢量场可视化的方法--LIC
矢量场可视化是科学计算可视化中非常前沿的研究课题,它可以将矢量场的情况清晰地反映出来,矢量场可视化常用的方法有很多很多,现举例如下:箭标图方法:矢量线方法:粒子及粒子动画:粒子沿着矢量场的方向运动,因为我找不到这种动态图片,所以结果就不贴了,效果很容易想象的。最后就是我实现的LIC的方法:
2009-11-19 22:13:00 3030 5
原创 CUDA中三维纹理的绑定和使用
最近在研究矢量场的可视化,在做非稳定场的可视化时,按照我设计的算法,会用到三维纹理的绑定,但是三维纹理的绑定方法和二维有明显的差别,花了一下午才研究清楚,在这里要特别感谢一位网名叫“CTC-樟树”的大哥(也有可能是大姐),反正万分感谢! 示例:int a[27] ={0};//首先是声明并初始化一个一维数组,以后将把这个一维数组放到纹理里面。 cudaCh
2009-11-17 16:05:00 1914 2
原创 中值滤波在图像去噪点中的应用
这篇文章用到的中值滤波的算法如下: 首先确定一个windowSize*windowSize大小的窗口,这里的windowSize是一个奇数,因此这个窗口一定会有一个中心的像素,中值滤波的过程就是不断的移动这个窗口,然后对窗口内的所有像素的像素值按照灰度级来排序,最后把排序后中间那个像素的灰度级赋值给窗口中心那个像素。这个就是中值滤波的意义。 举个例子,例如是3*3的窗口
2009-09-18 10:36:00 3041 1
原创 RGB和HSV的相互转换的代码
首先是结构体的定义,RGB和HSV。typedef struct{ unsigned char R; unsigned char G; unsigned char B;}COLOR_RGB; typedef struct{ float H; float S; float V;}COLOR_HSV; RGB空间颜色向HSV空间颜色转变void
2009-09-18 10:29:00 2797 2
原创 直方图均衡化的算法和代码
直方图均衡化算法分为三个步骤,第一步是统计直方图每个灰度级出现的次数,第二步是累计归一化的直方图,第三步是计算新的像素值。第一步: for(i=0;i for(j=0;j n[s[i][j]]++; } } for(i=0;i p[i]=n[i]/(width*height); }
2009-09-18 09:52:00 14470 10
23个JAVA设计模式源码
2011-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人