package state;
public interface State
{
public void operation();
}
package state;
public class StateOne implements State {
public void operation()
{
System.out.println("出门遇到西施,好好的亲热一番!");
}
}
package state;
public class StateTwo implements State
{
public void operation()
{
System.out.println("出门遇到东施,好好的被亲热一番!");
}
}
package state;
public class Man
{
private State state;
public Man(State state)
{
this.state = state;
}
public void setState(State state)
{
this.state = state;
}
public void operation()
{
state.operation();
}
}
package state;
public class Test
{
public static void main(String[] args)
{
Man man = new Man(new StateOne());
man.operation();
man.setState(new StateTwo());
man.operation();
}
}
/*
* 状态模式主要是处理太多的if else 语句,一个对象的行为的是根据其状态的不同而不同,有点类似
* 与策略模式,但是策略模式算法驱动,而状态模式是状态驱动,归结到底就是为了易维护
*/
分享到:
相关推荐
Stateflow是MATLAB Simulink中的一个强大工具,专门用于创建和模拟复杂的、基于事件的系统,这些系统可能涉及逻辑决策、序列行为和并行处理。本教程将深入讲解Stateflow的基本概念、如何构建状态图以及如何进行调试...
《JKI State Machine:一种高效的单线程字符串状态机实现》 在软件开发领域,状态机是一种常用的模型,用于描述对象或系统随时间变化的行为。JKI State Machine,源自OpenG库,是一种专为顺序结构设计的单线程字符...
Stateflow是MATLAB Simulink环境中的一种强大的建模工具,用于设计、模拟和实现复杂的离散事件系统,如状态机和流程图。本教程将深入探讨Stateflow的基础知识及其在Simulink中的应用。 首先,我们需要理解Stateflow...
Stateflow是一种强大的建模工具,尤其在MATLAB环境中,它被广泛用于构建复杂逻辑系统和控制系统的模型。本文将深入探讨Stateflow的概念、其在MATLAB中的应用以及如何通过实例来学习Stateflow建模。 Stateflow是...
基于simulink的计时器,方便学习stateflow,Stateflow是一个跟Simulink联合起来使用的,可视化图形界面工具。在Simulink环境下,它是用来模拟和控制一些逻辑系统. Stateflow跟Simulink是完美结合在一起的,可以建模...
Stateflow是一种用于建模和设计嵌入式系统、控制系统以及通信系统的编程语言,它是MATLAB中Simulink的一部分。Stateflow教程通常用于指导用户如何使用Stateflow进行状态机的设计和事件驱动的程序建模。本教程内容...
Kubernetes是目前最流行的容器编排系统,而kube-state-metrics是Kubernetes生态系统中的一个关键组件,它负责收集集群状态的度量数据。本篇文章将深入探讨如何在Kubernetes上部署kube-state-metrics以及这个组件的...
在QML(Qt Quick Markup Language)中,State和StateGroup是用于管理组件不同行为和视觉状态的关键元素。它们提供了一种优雅的方式来组织和控制UI组件的属性,使得在不同的场景下,组件可以呈现出不同的外观和行为。...
《Visualstate状态机基础教程》是一本专注于使用Visualstate工具进行状态机建模的教育资料,旨在提升嵌入式系统开发的效率。本教程不仅适用于初学者,也适合那些希望在建模技能上更进一步的开发者。教程内容涵盖理论...
在 Vuex 中,官方推荐的规范是不在 action 中直接修改 state,而应该通过 commit 触发 mutation 来进行状态变更。这种做法背后有多种原因,让我们深入理解这些原因,并结合源码来探讨其背后的机制。 首先,Vuex ...
StateMachine 状态机机制深入解析 StateMachine 状态机机制是指在软件开发中,使用状态机来描述和处理复杂的业务流程。状态机机制可以帮助开发者简化状态机的开发过程,并且可以提高代码的可读性和维护性。在 ...
AR Systems发布的visualState是基于UML状态机的建模工具,允许开发人员在状态机的层次上开发和调试,然后直接生成可用的C代码,尽量减少人工编码引进错误的可能。对于复杂的逻辑,如果不使用层次状态机来剖析它的...
《IAR visualSTATE中文教程PPT》是一份深入解析IAR visualSTATE的教育资源,适合对嵌入式系统设计和验证感兴趣的工程师以及学习者。这份教程以其详尽的内容,为中国用户提供了方便的学习路径,帮助他们理解和掌握这...
Offering an up-to-date account of the strategies utilized in state estimation of electric power systems, this text provides a broad overview of power system operation and the role of state estimation ...
《Stateflow逻辑系统建模》是一份深入探讨Simulink中的Stateflow技术的资料,它在控制工程、软件工程和系统模拟等领域具有广泛的应用。Stateflow是一种强大的图形化建模工具,它允许用户以直观的方式表示复杂的离散...
赠送jar包:flink-queryable-state-client-java-1.10.0.jar; 赠送原API文档:flink-queryable-state-client-java-1.10.0-javadoc.jar; 赠送源代码:flink-queryable-state-client-java-1.10.0-sources.jar; 赠送...
Simulink和Stateflow是MathWorks公司推出的一款用于系统级建模与仿真的软件工具,广泛应用于工程和技术领域的计算机辅助设计。Simulink提供了一种可视化编程环境,用户可以通过拖放的方式快速构建动态系统的模型;...
Stateflow是一种强大的建模工具,常用于在MATLAB Simulink环境中构建复杂的系统行为模型,尤其是涉及状态转换和逻辑决策的系统。本教程将深入探讨Stateflow的基本概念、设计原则以及如何在Simulink中有效地使用它。 ...
StateflowStateflowStateflow StateflowStateflowStateflowStateflow 是有限状态机 有限状态机 有限状态机 (finite state machinefinite state machinefinite state machine finite state machinefinite state ...