第二十一章 状态模式 21.1 基本介绍 状态模式(State Pattern):它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换。 当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。 21.2 角色及职责 Con ...
分类:
其他好文 时间:
2020-06-13 23:37:45
阅读次数:
70
一 概述 Promise是异步编程的一种解决方案,可以替代传统的解决方案--回调函数和事件。ES6统一了用法,并原生提供了Promise对象。作为对象,Promise有一下两个特点: * (1)对象的状态不受外界影响。 * (2)一旦状态改变了就不会在变,也就是说任何时候Promise都只有一种状态 ...
分类:
Web程序 时间:
2020-06-11 13:20:59
阅读次数:
83
入门学习了Linux的系统编程和网路编程,应该写一个小项目来练练手啦。这里模仿的是Github上一个开源项目:TinyWebServer。 项目地址:https://github.com/qinguoyi/TinyWebServer 非常感谢社长(TinyWebServer项目owner)的项目,项 ...
分类:
编程语言 时间:
2020-06-10 20:45:40
阅读次数:
96
函数签名 假设有一个函数 f,输入一个 int 值,返回一个 string 值,在 C# 中,该函数可以表示为: Func<int, string> 我们可以使用箭头(→)符号来表示: f : int → string 箭头符号是函数式编程社区的标准函数符号,与语言无关。 当没有输入或没有输出(vo ...
分类:
其他好文 时间:
2020-06-02 12:59:55
阅读次数:
54
promise 可解决的问题: 可以支持多个并发的请求,获取并发请求返回的数据 解决回调地狱的问题 真正用同步代码写异步操作的是 async await Promise两个特点: 对象的状态不受外界影响 一旦状态改变,就不会再变,任何时候都可以得到这个结果 Promise三种状态: Pending( ...
分类:
其他好文 时间:
2020-05-29 21:01:16
阅读次数:
85
Zookeeper作为分布式的服务框架,虽然是java写的,但是强大的C#也可以连接使用。 C#要连接使用Zookeeper,需要借助第三方插件,而现在主要有两个插件可供使用,分别是ZooKeeperNetEx和Zookeeper.Net Zookeeper.Net好像是是Apache官方提供的,但 ...
摇杆控制角色移动 1. stick监听cc.Node.EventType.TOUCH_MOVE事件,获取stick移动的坐标和朝向,限制移动的范围 2. 根据stick的朝向,每帧更新player的位置和方向 摇杆的效果 player根据摇杆的方向移动 还要根据摇杆的状态改变player的朝向 第一 ...
分类:
移动开发 时间:
2020-05-23 13:06:35
阅读次数:
77
观察者,貌似在很多科幻作品中都会有这个角色的出现。比如我很喜欢的一部美剧《危机边缘》,在这个剧集中,观察者不停的穿越时空记录着各种各样的人或事。但是,设计模式中的观察者可不只是站在边上看哦,这里的观察者是针对主体发生的状态改变来做出对应的动作。 Gof类图及解释 GoF定义:定义对象间的一种一对多的 ...
分类:
其他好文 时间:
2020-05-21 10:18:02
阅读次数:
44
状态模式 状态模式(State),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。当控制一个对象状态转换的条件表达式过于复杂时的情况,把条件判断转移到表示不同状态的一系列类中,把复杂的判断逻辑简化。 结构图: 业务中若条件判断很多,例如: public class Test ...
分类:
其他好文 时间:
2020-05-05 19:55:05
阅读次数:
68
React生命周期 组件更新 (组件状态改变)新一轮render shouldComponentUpdate(newPros,newState) componentWillUpdate componentDidUpdate 组件注册 getDefaultProps getInitialState c ...
分类:
其他好文 时间:
2020-04-14 18:28:41
阅读次数:
72