272得票21回答
策略设计模式和状态设计模式有什么区别?

策略模式与状态模式之间有什么区别?我查阅了很多文章,但是仍然不能清楚地区分它们的不同。 请问有人能用通俗易懂的语言来解释它们之间的区别吗?

65得票8回答
如何在Java中实现有限状态机(FSM)

我有一些工作需要做,需要你的帮助。我们想要实现一个FSM - 有限状态机,用于识别字符序列(例如:A、B、C、A、C),并判断是否接受该序列。 我们打算实现三个类:State、Event和Machine。 State类表示FSM中的节点,我们打算使用State设计模式来实现它,每个节点将扩展...

49得票7回答
状态机和状态模式的实现有什么区别?

我想知道一个状态机是否只是状态模式的功能,还是这两者之间实际存在差异? 我找到了一篇题为“状态设计模式与状态机”的文章,但说到底,他仅表示状态模式使状态机过时,但并没有描述状态机与状态模式的实现有什么具体区别。

47得票8回答
如何正确使用状态模式?

我在编程经验中遇到了几种状态模式的实现,并且自己也做了一些。我看到它们被用于各种场景(主要是UI和解析)。问题在于在快速开发的压力下,它们都变成了难以维护和理解的代码块。我正在考虑重构其中之一,但我在网上找不到好的资源。有许多简单的状态模式示例在线上,但我需要更深入的资源。 所以我想找: ...

18得票5回答
如何持久化实现状态模式的对象?

我对状态模式比较陌生,也找不到一个合适的例子来将对象的不同状态保存到数据库中(在我这里是SQL Server)。情况类似于以下文章中描述的示例,但我没有找到适用的解决方案来将状态持久化到数据库中。你们能否推荐一个链接或者给出一个例子? C#中状态模式用法和示例 此外:如何在运行时枚举所有不...

17得票3回答
在状态模式中,谁定义状态转换?

我了解到 状态模式(State pattern) 可以用于建模根据不同状态而变化行为的对象,而Context所具有的不同状态则被封装在代表State接口的具体类中。然而,我并不清楚这个模式中状态的转换是如何发生的。是各个State知道并决定了下一个状态,还是由Context决定其下一个状态?

16得票2回答
使用Entity Framework持久化状态模式

我目前正在开发一个MVC 3项目。我已经将我的关注点分离,例如Core、Repository、UI、Services等。我已经实现了Repository、UnitOfWork和最重要的State模式。 我正在使用Entity Framework 4.3来持久化我的数据,并遇到了一个非常恼人的...

14得票2回答
状态模式与枚举类型

有时需要为对象的状态提供支持,根据我的理解有两种方法: 枚举(简单) 状态模式(OC原则) 很明显需要使用状态模式来实现这样的目的(我不确定)。 但是在阅读其他代码时,我经常只看到枚举而没有看到状态模式。状态模式是否有效?

13得票3回答
状态模式和守卫模式

更新: 使用状态模式可能不是解决这个问题的正确方法。因此,欢迎使用任何其他模式。基本上,我正在寻找一种方法来为每个状态设置保护条件,同时拥有干净且易于维护的代码。像emberjs、ui-router和react-router这样的前端路由系统如何实现“保护条件”,以避免在不满足条件的情况下进...

12得票1回答
如何对状态机进行单元测试?

假设我有一个 Order 类,它可以处于三种不同的状态: CheckedState, PaidState 和 OrderedState。 状态机将使用标准状态设计模式(GoF)来实现。 通常如何对此进行单元测试? 您是否为每个状态类(CheckStateFixture,PaidFixtur...