策略模式
来源:互联网 发布:如何挑选油烟机知乎 编辑:程序博客网 时间:2024/05/22 16:47
作用:为了防止出现需求变更,导致的大量代码变更,采用策略模式来帮助我们执行类中的方法。
通过创建不同的对象,调用子类(重写父类)的方法
public class Context{ SuperClass sc; public Context(SuperClass sc){ this.sc = sc; } public void mothed(){ sc.test(); }}
在客户端使用:
public static void main(String[] args){ Context c = new Context(new Class1()); c.method();}
这样的话只需要修改客户端的条件,即可;
也可以和简单工厂类结合使用,让客户端与SuperClass解耦。
public Context(Object obj){ SuperClass sc; switch(obj){ case obj1: sc = new Class1(); case ... }}
这样,客户端只需要创建Context的对象,传入一个参数即可。这样的话,虽然要修改Context中的内容,但在对象创建方面就不需要操心了。简单来说,只要有变更,就不要怕改,但也要尽可能的避免修改,所以,使用怎样的设计模式操作方便,代码改变少,需要一定的功底
0 0
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 安卓时间选择器,时间对话框,DatePickerDialog类。
- 第十六周上机实践项目4(2):程序设计
- 读取设备文件属性(鼠标)
- Android中读取properties文件
- 第十六周上机实践项目4(3):程序设计
- 策略模式
- Tesseract-OCR 3.02命令行程序的使用
- 第十六周上机实践项目5(1):小玩文件
- TortoiseGit(乌龟git)保存用户名密码
- 8-130 万能计算器(支持各类数据的加法函数)
- 用RotateDrawable实现网易云音乐唱片机效果
- 【GDOI2014模拟】Tree 题解&代码
- ubutntu系统语言更改
- Develog--Training系列(Building Your FirstApp 第一节)