简体中文 | 繁体中文

大话设计模式-----第144章


人在夫檐下 超级大富豪 修真之最炫民族风 剑侠情缘 矿海 鲜妻有点甜:大亨的私宠 乱世猎人 十二点以后 异界财神之以财入道 异行僵尸 气运之主 魔法王子 最强除妖师 屌丝驱鬼师 谁是凶手 网王之谁是我的真命王子 请你养我 随江 混在乱世建王朝 龙棺
第144章

小A:“操作型模式有什么要点呢?”

大B:“State模式将所有与一个特定状态相关的行为都放入一个State的子类对象中,在对象状态切换时,切换响应的对象;但同时维持State的接口,这样实现了具体操作与状态转换之间的解藕。为不同的状态引入不同的对象使得状态转换变得更加明确,而且可以保证不会出现状态不一致的情况,因为转换是原子性的——即要么彻底转换过来,要么不转换。如果State对象没有实例变量,那么各个上下文可以共享同一个State对象,从而节省对象开销。这种模式避免了我们写大量的ifelse或switchcase语句,但是很有可能会导致某些系统有过多的具体状态类,并且由此导致开发人员可能会对所有的状态类有所遗漏。”

推荐小说