博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式状态
阅读量:6484 次
发布时间:2019-06-23

本文共 801 字,大约阅读时间需要 2 分钟。

状态模式 设计原则:遵循单一职责、依赖倒置、开闭原则 常用场景:一个对象在多个状态下行为不同,且这些状态可互相转换 使用概率:20% 复杂度:中 变化点:状态的种类 选择关键点:这些状态是否经常在运行时需要在不同的动态之间相互转换 逆鳞:无 相关设计模式 策略模式:二者的实现方式非常相似,策略接口与状态接口,具体的策略与具体的状态以及二者都拥有的上下文,如果看它们的类图 ,会发现几乎一模一样,而二者不同的地方就在于,状态模式经常会在处理请求的过程中更改上下文的状态, 而策略模式只是按照不同的算法处理算法逻辑,而且从实际场景来讲,顾名思义,状态模式改变的是状态,策略模式改变的是策略 主要思想: 实际就是当前对象的状态(往往是一个或多个属性)不同,那么同样的方法执行结果是不同的 就是在方法内进行状态判断if else 的执行 注意是判断本对象的属性,而策略模式往往是根据传参来判断
public class MyStatue {    private int status;    public void setStatus(int status) {        this.status = status;    }    public void doSomething() {        if (status==1) {            System.out.println("do1");        } else if (status==2) {            System.out.println("do2");        } else {            System.out.println("do another");        }    }}

 

转载于:https://www.cnblogs.com/zhaojj/p/7799619.html

你可能感兴趣的文章
Linux经常使用命令(十六) - whereis
查看>>
Linux五种IO模型
查看>>
Bootstrap技术: 模式对话框的使用
查看>>
小知识,用myeclipes找jar
查看>>
in-list expansion
查看>>
设计原则(四):接口隔离原则
查看>>
基于react的滑动图片验证码组件
查看>>
VuePress手把手一小時快速踩坑
查看>>
学习constructor和instanceof的区别
查看>>
Vijos P1881 闪烁的星星
查看>>
ABP理论学习之领域服务
查看>>
Qt 控制watchdog app hacking
查看>>
让所有IE支持HTML5的解决方案
查看>>
RDD之五:Key-Value型Transformation算子
查看>>
percona 5.7.11root初始密码设置
查看>>
Cognitive Security的异常检测技术
查看>>
Pyrex也许是一个好东西
查看>>
WINFORM WPF字体颜色相互转换
查看>>
能力不是仅靠原始积累(三)
查看>>
彻底学会使用epoll(一)——ET模式实现分析
查看>>