宝哥软件园

JS设计模式中状态模式的概念和用法分析

编辑:宝哥软件园 来源:互联网 时间:2021-09-01

本文阐述了状态模式在JS设计模式中的概念和用法。分享给大家参考,如下:

1.概观

当一个对象的内部状态改变时,它被允许改变它的行为,而这个对象似乎改变了它的类。

2.问题解决了

主要解决控制对象状态转移的条件表达式过于复杂的问题。将状态的判断逻辑转移到一系列不同的类中,可以简化复杂的逻辑判断。

函数上下文(_ state){ this . state=_ state;this . request=function(){ this . state . handle(this);} }函数ConTestTa(){ this。handle=function(context){ console . log(' A ');context . state=new ConTextStateB();} }函数ConTextStateB(){ this。handle=function(context){ console . log(' B ');context . state=new ConTextStatea();} }//将Context的初始状态设置为具体状态avarcontext=new context(新的具体状态a());//在更改状态上下文的同时继续发出请求。requestscontext . request();状态模式的使用场景也很清晰,有以下两点:

对象的行为取决于它的状态,它必须在运行时根据它的状态改变它的行为。

一个操作中有许多分支语句,这些分支语句取决于对象的状态。状态通常是一个或多个枚举常数的表示。

应用场景:

有几种呼叫状态:获取电话号码、拨号、呼叫和结束。这些状态的顺序是次等的,所以我们可以根据这些状态实现状态模式;

获取电话号码

正在拨号

召集

通话结束

继续调用此方法context . request();判断它属于哪个州;

关于JavaScript的更多信息,请参考本网站的主题:《javascript面向对象入门教程》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、0103010。

希望本文对JavaScript编程有所帮助。

更多资讯
游戏推荐
更多+