条件判断 在编程中是应用最广的,他决定了程序的下一步应该怎么执行。我们来看下面一段代码:
// 条件判断
string strType = "";
if(age<3)
strType = "未入学";
else if(age<6)
strType = "幼儿园";
else if(age<12)
strType = "小学";
else if(age<15)
strType = "初中";
else if(age<18)
strType = "高中";
else if(age<22)
strType = "大学";
else if(age<25)
strType = "研究生";
else if(age<28)
strType = "博士";
else
strType = "已毕业";
再来看下 switch case 的情况:
// Switch
void divide(int i)
{
switch(i)
{
case 1:
case 2:
case 3:
case 4:
case 5:
……
}
}
上述两种情况 都是属于 责任链的概念。
责任链模式 将多个对象定义成一个链式结构,按照顺序对请求进行判断和处理,直到有一个对象处理他为止。
这个结构非常容易理解,像代码中 经常会用到的 消息传递机制、windows窗口事件 等,都是属于责任链模式的应用。
责任链模式 的优点在于实现了 请求者 和 处理者 的代码分离,发出请求的调用者 不需要知道谁处理了这个消息,只需要将请求发送出去即可,大大提高了灵活性。