设计模式之策略模式

/**

策略模式:定义一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化。

*/

复制代码
interface ISave{ //把可变的行为抽象出来,定义一系列算法
    public void save(String data);
}

class FileSave implements ISave {  //多个策略 可以继续扩展
    @Override
    public void save(String data) {
        System.out.println("数据保存到文件中");
    }
}
class NetSave implements ISave {
    @Override
    public void save(String data) {
        System.out.println("将数据保存到网络中");
    }
}

abstract class BaseService {
    private ISave iSave;
    public void setISave(ISave iSave) {
        this.iSave = iSave;
    }

    public void add(String data) {
        System.out.println("校验数据合法性");
        iSave.save(data);
        System.out.println("数据保存完毕");
    }
}

class UserService extends BaseService {

}

public class strategyMode {
    public static void main(String[] args) {
        BaseService user = new UserService();
        user.setISave(new FileSave());
        user.add("user");
    }
}
 
复制代码

 

posted @   曹伟666  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示