最近实在太忙了,一堆事情,好在学生们都顺利毕业了,自己的论文也写好了,偶然看到有人提到了设计模式,而之前自己也使用过基于过C++和Java的设计模式。设计模式是一种思想,应该适用于任何编程语言吧,所以今天就研究C语言下的设计模式--责任链模式。
那什么是责任链呢?举个例子吧,我的学生有事情要请假,如果是小事儿,跟我请假就行了,比如上街买个东西,当天就回来;如果要请假出去几天,比如家里有事,那要跟导员请假;如果要请假一个月以上的,要跟院长请假,respectively。可以看出,请假的时间长短不同,则批假的人不同。假设我只能批假3天,导员可以批假10天,书记可以批假30天,院长可以批假半年。如果学生要跟我请假10天,我会说,这个我批不了,你找导员吧,如果学生找导员请假15天,导员只能让学生去找书记,一次类推...
OK,一个简单的责任链模式就完成了。大家可以情况实现自己request函数。
|