java策略设计模式

1.变化的和不变化的独立出来
2.面向接口编程
3.多组合,少继承
例子:数据的存储是存储到网络或者存储到文件。我们将存储(save)这个行为写成接口,各种存储方式来实现接口。抽象类中组合各种存储方式。

public class 策略设计模式 {
	public static void main(String[] args) {
		BaseSave user=new User();
		user.setSave(new FileSave());
		user.add("add");
	}
}
//把可变的行为抽象出来,定义一系列算法.接口定义行为
interface Save{
	public void save(String date) ;
}

class FileSave implements Save{
	@Override
	public void save(String date) {
		// TODO Auto-generated method stub
		System.out.println("保存到文件中");
	}
}

class NetSave implements Save{
	@Override
	public void save(String date) {
		// TODO Auto-generated method stub
		System.out.println("把数据保存到网络上");
	}
}

abstract class BaseSave{//组合
	public Save save;
	public void setSave(Save save) {//绑定接口,组合算法
		this.save=save;
	}
	public void add(String date) {
		System.out.println("检查数据合法性");
		save.save(date);
		System.out.println("数据保存完毕");
	}
}

class User extends BaseSave{
	
}

如果有什么不正确的地方还愿各位前辈帮忙指出,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

终极之旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值