定义
定义一种算法,将每个算法都封装起来,并且使它们之间可以互换。是一种行为类模式。
举例
为了通俗易懂,我们拿各国的税率计算来举例子:
假设当前我们的程序只能支持计算中国和美国的税率:
public class Tax_Cal {
public int CN_Cal(int x) {
// 计算中国税
}
public int US_Cal(int x) {
// 计算美国税
}
}
这样写看起来没什么问题,但实际上我们想想,如果以后公司还要拓展,开始支持法国,日本等等国家,那么我们这个类就得不断但改啊改,是不是特别麻烦且危险?比如万一和前面的某个国家冲突了,就会影响到前面的计算。
所以我们干脆分开来写,把所有的国家税的计算都独立出来,实现的都是同一个接口,都有一个共同的参数x。
<