选用了一个假设需要用户验证的例子进行State模式学习,这个例子并不恰当.无所谓了,只要能学习到其中的内容即可. 适用性: 1,一个对象的行为取决于他的状态,并且它必须在运行时刻依据状态改变他的行为. 2,一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态.这个状态通常用于一个或多个枚举表示.通常,多个操作句包含这一相同的条件结构.State模式将每一个条件分支放入一个独立的类中.这使得你可以依据对象自身的情况将对象的状态作为一个对象,这一对象可以不依赖于其他对象而对立变化. 下…