欢迎光临散文网 会员登陆 & 注册

【D1n910】第 18 章 超级玛丽 —— 状态模式

2021-02-25 21:19 作者:爱交作业的D1N910  | 我要投稿

正常操作,正常分析,大家好,我是D1n910。


今天我继续来学习 《JavaScript 设计模式》的第四篇 行为型设计模式


这是一个连续的读书笔记,所以如果你之前的内容没有看的话,可以去看看(建议直接看书,当然书的例子都比较早了,是2015年之前的代码内容,过了六年了,前端发展了很多,比如类的声明可以直接用 Class 了)。


直接查看目录就可以查看到所有的系列文章啦。




这里再次感谢 《Javascript 设计模式》及其作者 张荣铭,专栏内容是在它的基础上生成的。


现在会觉得很多设计模式离我们有点遥远,是因为我们现在都在用大佬写好的框架吧,很多设计模式都包含在框架里了。


后面有机会的话,我希望我可以查看目前主流框架的源代码,然后进行讲解。



第四篇 行为型设计模式

行为型设计模式用于不同对象之间职责划分或算法抽象,行为型设计模式不仅仅涉及类和对象,还涉及类或对象之间的交流模式并加以实现。


第 18 章 超级玛丽 - 状态模式


状态模式(State):当一个对象的内部状态发生变化时,会导致其行为的改变,看起来是改变了对象。


我们玩超级玛丽这个游戏,屏幕上按键后,角色会有不同的反应,比如向左走,向右走等等。


按照数据的不同状态执行不同的方法,我们很容易会想到要使用分支判断:



这样很麻烦,都是同一种类型。可以考虑换一种方式


这样一下子就清爽很多,我们的条件变成了对象的属性,执行方法就是属性对应的函数。


本章End

加油加油

D1n910 于 2021年02月25日 在南山后海

【D1n910】第 18 章 超级玛丽 —— 状态模式的评论 (共 条)

分享到微博请遵守国家法律