深入理解JavaScript系列(43):设计模式之状态模式详解
其每个继承函数实现与特定状态相关的行为,比如DownloadingState和DownloadedState分别实现了正在下载和下载完毕的行为。这些行为可以通过Download来来维护。让我们来实现一把,首先定义作为其他基础函数的原型的State函数:在编写子函数之前,我们先来编写一个ReadyState函数,以便可以将状态传递给第一个download状态:该函数接收了一个Download维护函数的实例作为参数,Download函数用于控制状态的改变和获取,ReadyState重写了原型的download方法,以便开始进行下载。DownloadedState函数,同理成功下载以后,不能再设置finish了,只能设置重新下载状态。
下载地址
用户评论