State模式主要适用于在不同状态下会有不同的行为产生。即行为的变化追随状态的变化而变化。
如人们的表现行为会随着自己的心情变化而变化。
此时,状态就是心情,心情是阴晴多变的,所以表现行为就随心而动。
当我们接受几个设计模式之后渐渐会发现,很多时候在使用设计模式的时候都是由于可变性引起的,就是要针对这些可变性进行封装,已达到所谓的OCP原则。
package com.wayne.state; public interface Mood { public void action(); } package com.wayne.state; public class HappyMood implements Mood { public void action() { System.out.println("i am happy..."); } } package com.wayne.state; public class HurtMood implements Mood { public void action() { System.out.println("i am so losting ........"); } } package com.wayne.state; public class Context { private Mood mood; public Context(Mood mood) { this.mood = mood; } public void action() { mood.action(); } } package com.wayne.state; public class Person { public static void main(String args[]) { Mood mood = new HappyMood(); Context cxt = new Context(mood); cxt.action(); } }
相关推荐
State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了. 不只是根据状态,也有根据属性.如果...
State模式是一种行为设计模式,它允许对象在内部状态改变时改变其行为,看起来像是改变了它的类。这种模式常被用于处理具有多种状态的对象,使得对象的状态转换更加清晰,代码更易于理解和维护。 在State模式中,...
State模式是一种行为设计模式,它允许对象在内部状态改变时改变其行为,对象看起来似乎修改了它的类。这种模式常用于处理对象的状态转换,使得代码更易于理解和维护。 State模式的核心概念是状态对象,每个状态对象...
State模式是设计模式中的一种行为模式,它允许对象在内部状态改变时改变其行为,对象看起来好像修改了它的类。这种模式将一个对象的状态抽象出来,封装成独立的类,使得对象可以在不同的状态下表现出不同的行为,而...
Android中StateMachine机制 对与State改变切换这种常见常用的处理, 只是各个平台框架中处理的方法不同, ...在Android中使用的了StateMachine机制就是一个State模式的应用, StateMachine是非常的强大和精妙。
3. **复杂度考量**:虽然State模式能够清晰地表示状态转换,但如果状态较少且转换逻辑简单,则可能不需要使用State模式,因为引入额外的类可能会增加不必要的复杂度。 #### 四、State模式的实例解析 本节将以自动...
Java 设计模式之 State 模式 State 模式是一种行为型设计模式,它允许对象在其内部状态改变时改变其行为。该模式的主要思想是将对象的状态和行为分离,使用不同的状态子类来实现不同的行为。 何时使用 State 模式...
Java 设计模式之 State 模式详解 State 模式是 Java 设计模式的一种,用于解决状态切换问题。当对象的状态改变时,对象的行为也随之改变。State 模式将状态和行为分离,实现了状态切换的灵活性和可扩展性。 定义:...
标题和描述均提到了"C#面向对象设计模式"中的State状态模式,这表明文章的核心内容是围绕State模式在C#编程语言中的应用展开。State模式是一种行为设计模式,旨在允许对象在其内部状态改变时,其行为也能相应地改变...
Java设计模式中的State模式是一种行为设计模式,它允许对象在其内部状态改变时改变它的行为。State模式的核心思想是将状态相关的代码封装到独立的对象中,这样可以使得对象在其状态改变时,表现出不同的行为,而无需...
State模式是一种行为设计模式,它的主要目的是将状态与行为封装在一起,使得对象在状态改变时,其行为也随之改变。在Java中,State模式通常通过创建一系列的子类来表示不同的状态,并让每个子类实现特定状态下的行为...
Java设计模式中的State模式是一种行为设计模式,它允许对象在其内部状态改变时改变它的行为。State模式的核心思想是封装可能改变的行为到相应的状态对象中,让对象在其内部状态改变时可以调用不同的行为方法,而不是...
State模式的核心思想是将一个对象的状态行为封装在独立的类中,这样可以使得对象在不改变其类的情况下,通过改变内部状态来改变其行为。这种模式通常用于当一个对象的行为基于它的状态并且状态变化时,行为也相应地...
状态模式是一种行为设计模式,它允许对象在内部状态改变时改变其行为,使对象看起来好像修改了它的类。在Java中,状态模式通常用于将状态相关的逻辑从对象主体中分离出来,使得对象的行为可以根据其状态动态地更新。...
State模式允许一个对象在其内部状态改变时改变它的行为,对象看起来像是改变了它的类。 #### Observer模式 Observer模式定义了对象之间的一种一对多依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象...
### 状态模式(State Pattern) #### 概念与定义 状态模式是一种行为设计模式,它允许对象在其内部状态改变时改变其行为,使对象看起来像是修改了它的类。该模式通过引入一个代表各种状态的类以及一个行为随着这些...