当从应用程序全局的角度来看,如果只允许类的一个实例产生,就可以考虑单例模式。 □ 即时加载的单例模式 把类的实例赋值给类的一个静态字段。 class Program { static void Main(string[] args) { Logger log = Logger.GetInstance...
分类:
其他好文 时间:
2014-09-07 00:59:04
阅读次数:
198
所谓的"对象为Null模式",就是要求开发者考虑对象为Null的情况,并设计出在这种情况下的应对方法。 拿"用最简单的例子理解策略模式(Strategy Pattern) "中的例子来说,在我们的客户端程序中只考虑了用户输入1,2,3的情况,如果用户输入其它数字,比如4,就没有一个对应的IBall接...
分类:
其他好文 时间:
2014-09-06 23:48:46
阅读次数:
302
当一个动作有多种实现方法,在实际使用时,需要根据不同情况选择某个方法执行动作,就可以考虑使用策略模式。 把动作抽象成接口,比如把玩球抽象成接口。 public interface IBall { void Play(); }有可能是玩足球、篮球、排球等,把这些球类抽象成实现接口的类。 public ...
分类:
其他好文 时间:
2014-09-06 23:44:34
阅读次数:
353
String类型1.字符串的模式匹配方法 1) match(),与RegExp的exec()方法相同,也只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。var text = "cat,bat,fat,sat";var pattern = /.at/;var matches = t....
分类:
编程语言 时间:
2014-09-05 21:05:42
阅读次数:
200
观察者模式,一句话概括,就是定义并维护对象之间的一对多关系。“定义”是指建立“一”与“多”之间的依赖关系;“维护”是指我们可以动态地解除依赖以及建立新的依赖。
分类:
其他好文 时间:
2014-09-05 19:44:01
阅读次数:
191
MAXScript 官方文档里关于获取文件夹下所有文件的方法fn getFilesRecursive root pattern =(dir_array = GetDirectories (root+"/*")for d in dir_array do join dir_array (GetDire....
分类:
其他好文 时间:
2014-09-05 17:52:41
阅读次数:
370
Producer生产者顾名思义就是生产数据的线程,Consumer消费者就是使用数据的线程。可以有多个生产者,也可以有多个消费者,当生产者和消费者都是一个的时候,又叫做管道Pipe Pattern。下面简单写了个例子,一个线程加1,一个线程减1,一个生产者、一个消费者,生产者用来加1,消费者用来减1...
分类:
编程语言 时间:
2014-09-05 16:03:01
阅读次数:
233
sed 命令可以很好的进行行匹配,但从某一行中精确匹配某些内容,则使用 grep 命令并辅以 -o 和 -E 选项可达到此目的。其中 -o 表示“only-matching”,即“仅匹配”之意。光用它不够,配合 -E 选项使用扩展正则表达式则威力巨大。比如下面有一条文本 tmp.txt ,其中内容为...
分类:
其他好文 时间:
2014-09-05 15:57:31
阅读次数:
273
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