接口应用之策略设计模式
-
策略模式:定义了一系列算法,将每种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化。
-
oo设计原则:1.面向接口编程;2:封装变化;3:多用组合,少用继承。
-
把可变的行为抽象出来,这样的好处时这些行为可以在真正使用时可以相互替换。
public class test1 {
public static void main(String[] args) {
BaseService user = new UserService();
user.setIsave(new NetSave());
user.add("user");
}
}
//把可变的行为抽线出来,定义一系列的算法
interface ISave{
public void save(String data);
}
class FileSave implements ISave{
public void save(String data) {
System.out.println("正在把数据保存到文件中。。。"+data);
}
}
class NetSave implements ISave{
public void save(String data) {
System.out.println("正在把数据保存到网络上..."+data);
}
}
abstract class BaseService{
private ISave isave;
public void add(String data){
System.out.println("检查数据合法性。...");
isave.save(data);
System.out.println("数据保存完毕");
}
public void setIsave(ISave isave){
this.isave = isave;
};
}
class UserService extends BaseService{
}