走向设计(策略模式)
来源:互联网 发布:网络与司马是什么意思 编辑:程序博客网 时间:2024/06/05 23:47
策略模式(Strategy Pattern):定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户。
举例:
//这里有一个做某件事的接口:
public interface IsDoing { public void doing();}
//这里实现了吃的方法:
public class Eat implements IsDoing { public void doing() { // TODO Auto-generated method stub System.out.println("吃,吃快餐吃各种饭");// } }
//这里实现了喝的方法
public class Drink implements IsDoing { public void doing() { // TODO Auto-generated method stub System.out.println(" 喝,喝各种饮料");// } }
//用户去吃喝
public class PeopleUse { private String name; private Eat eat; private Drink drink; public PeopleUse(String name) { this.name = name; } public void setEat(Eat eat) { this.eat = eat; } public void setDrink(Drink drink) { this.drink = drink; } public void toDrink() { drink.doing(); } public void toEat() { eat.doing(); }}
//传入用户
public static void main(String[] args) { PeopleUse people = new PeopleUse("张三"); people.setEat(new Eat()); people.setDrink(new Drink()); people.toEat(); people.toDrink(); }
这里吃和喝的方法单独封装,变化的算法独立出来,使用这些方法的用户只是在peopleUse类进行修改操作。
0 0
- 走向设计(策略模式)
- 走向设计(单例模式)
- 设计模式(策略模式)
- 设计模式(策略模式)
- 设计模式(策略模式)
- 设计模式(策略模式)
- 走向边缘的设计模式
- 设计模式:2)策略设计模式
- 设计模式:策略模式(轻松看懂策略模式)
- 初学设计模式二(策略模式)
- 设计模式----策略模式(Strategy)
- 设计模式--策略模式(Strategy)
- 设计模式C++(Strategy策略模式)
- 设计模式---策略模式(strategy)
- 设计模式(策略模式2)
- 设计模式:策略模式(Python)
- java 设计模式--策略模式(strategy)
- 【设计模式】之策略模式(Strategy)
- 【python】简单实现一个模板引擎
- poj3080Blue Jeans
- 杭电2070
- (博弈)Public SaleHDU2149(巴什博弈)
- 操作系统:死锁 //程序耦合性
- 走向设计(策略模式)
- 设计模式 学习笔记
- opencv中的一般数据类型
- Python字符串
- 提交到app store时,提示ITMS-90478 ,ITMS-90062错误
- pageResult类
- 重做红楼梦的数据分析-判断前80回后40回是否一个人写的
- android XML实现切换效果
- VB程序学习代码记录20160729