操作型模式

来源:互联网 发布:简单的进销存软件 编辑:程序博客网 时间:2024/05/01 17:18
State 模式将所有与一个特定状态相关的行为都放入一个 State的子类对象中,在对象状态切换时,切换相应的对象;但同时维持State的接口,这样实现具体操作与状态之间的解耦。为不同的状态引入不同的对象使得状态转换变得更加明确,而且可以保证不会出现状态不一致的情况,因为转换是原子性,要么彻底转换过来,要么不转换。如果State对象没有实例变量,那么各个上下文可以共享同一个State对象,从而节省开销,这种模式避免写大量if else 或 switch case 语句,但有可能会导致某些系统有过多的具体状态类,并且由此导致开发人员可能会对所有的状态类有所遗漏
注:1> 操作是在方法之上的抽象概念操作定义类所提供的服务,并给出调用该服务的接口,多个类可以用不同的方法实现同一个操作
       2> 方法签名不包括返回类型,但是,如果一个方法重写另一个方法,而这两个方法的返回类型不同,那么编译器就会报错
0 0
原创粉丝点击