java基础之策略模式[26]
一、策略模式是什么?
定义了一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化.
把可变的行为抽象出来,这样的好处是这些行为可以在真正使用时相互替换.
策略模式是非常常用的,一个接口有多个实现,不同的实现独立封装,可以按运行时需求相互替换,可维护性就强了,新增接口实现也不会影响其他实现类.
OO设计原则:
1.面向接口编程(面向抽象编程).
2.封装变化;
3.多用组合,少用继承;
二、代码演示
1.策略模式接口
interface ISave{
void save(String data);
}
2.接口子类实现
class FileSave implements ISave{
@Override
public void save(String data) {
System.out.println("保存数据...."+data);
}
}
class NetSave implements ISave{
@Override
public void save(String data){
System.out.println("上传数据...."+data);
}
}
3.抽象类,封装接口
abstract class SavaMethod{
private ISave iSave;//封装接口
public void setiSave(ISave iSave){//实例化接口
this.iSave=iSave;
}
public void method(String data){
iSave.save(data);//实例化后的接口调用方法
}
}
4.用户实例类,继承抽象类,实现接口的实例
class UserManage extends SavaMethod{}
5.创建对象实现功能
UserManage um=new UserManage();
um.setiSave(new NetSave());
um.method("user");
三.小结
本章概述了java中策略模式的使用,策略模式是面向接口编程的入门模式,在开发中,面向接口编程可以大大提高开发效率;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!