Producer生产者顾名思义就是生产数据的线程,Consumer消费者就是使用数据的线程。可以有多个生产者,也可以有多个消费者,当生产者和消费者都是一个的时候,又叫做管道Pipe Pattern。下面简单写了个例子,一个线程加1,一个线程减1,一个生产者、一个消费者,生产者用来加1,消费者用来减1...
分类:
编程语言 时间:
2014-09-05 16:03:01
阅读次数:
233
reactor设计模式,是一种基于事件驱动的设计模式。《Pattern-Oriented Software Architecture, Volume 2》对这个模式做了具体的解说。这个模式的结构图例如以下:图中的handle相应的是操作系统提供的句柄,比如I/O句柄,Event_Handler类持有...
分类:
其他好文 时间:
2014-09-05 12:47:51
阅读次数:
220
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设...
分类:
编程语言 时间:
2014-09-05 09:57:01
阅读次数:
237
观察者模式(Observer Pattern)在项目中经常会被使用到,也被叫做发布订阅模式,也就是说 观察者 = 发布者 + 订阅者
GoF的《设计模式》中对观察者是这样描述的:
Define a one-to-many dependency between objects so that when one object changes state, all its depende...
分类:
其他好文 时间:
2014-09-05 01:00:30
阅读次数:
373
@interface ViewController (){ Shape *_shape;}@end@implementation ViewController- (void)loadView{ //设置画板 self.view=[[SimpleDrawBoard alloc]ini...
分类:
其他好文 时间:
2014-09-04 22:13:40
阅读次数:
245
设计模式是由代码结构优化经验萃取出来的理论知识,应用成熟的设计模式能够增强代码的可复用性、可扩展性与可维护性。其中,策略模式是最基础的设计模式之一,简单地说,所谓的“策略”就是要求把变化的部分封装起来。
分类:
其他好文 时间:
2014-09-04 20:38:30
阅读次数:
275
使用.NET REACTOR使用方法,制作软件许可证,做一个简单的许可证系统步骤...
分类:
Web程序 时间:
2014-09-04 17:08:39
阅读次数:
359
$pattern = '/.*\,?(10)\,?.*/';或者$pattern = '/(?:.+\,|^)(10)(?:\,.+|$)/'oattern正则式可以匹配如下字符串中的数字10(1) '15,100,201,10'(2) '15,100,10,201'(3) '10,15,100,2...
分类:
其他好文 时间:
2014-09-04 16:36:29
阅读次数:
213
迭代器模式(Iterator pattern)
一、 引言
迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行java collection的遍历:
Iterator it = list.iterator();
while(it.hasNext()){
//using “it.next();”do some businesss logic
}
而这就是关于迭代器模...
分类:
其他好文 时间:
2014-09-04 10:33:39
阅读次数:
212
这一小节讲各个观察器(Watcher) 在libev下面watcher相当于EventHandler这么一个概念,通常里面会绑定fd回调函数以及我们需要关注的事件。 然后一旦触发事件之后会触发我们使用的回调函数,回调函数参数通常有reactor,watcher以及触发的事件。这里不打算重复文档...
分类:
其他好文 时间:
2014-09-04 01:24:07
阅读次数:
300