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

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

8得票2回答
ASP.NET MVC 3.0中的状态模式

我有一个应用程序中的注册页面,它有3种状态和1种错误状态(如果出现任何错误): 填写基本信息 选择套餐 表示感谢 错误 现在我想在这里使用状态模式。首先我创建了一个控制台应用程序,它可以正常运行。现在我想在我的MVC应用程序中实现这个逻辑,但我对结构感到困惑。我的意思是需要多少视图、模...

10得票1回答
状态模式似乎使用了循环引用。这样做为什么没问题?

我仍在尝试理解循环引用的危险性。经常看到他们只应该在极少数情况下使用。但是,在经典的状态模式中,“状态”对象需要引用“上下文”对象才能引起转换,而“上下文”对象需要引用“状态”对象才能触发它们的行为。 这不是一个循环引用吗?如果不是,那它与循环引用有什么关系?如果是,为什么这是可以接受的呢?...

7得票1回答
状态模式和领域驱动设计

我们经常使用简单的枚举来表示实体的状态。当我们引入在很大程度上依赖于状态的行为或者状态转移必须遵守某些业务规则时,问题就出现了。 以下面的例子(使用枚举来表示状态)为例: public class Vacancy { private VacancyState currentSta...

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来持久化我的数据,并遇到了一个非常恼人的...

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

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

9得票3回答
C#中的状态模式与先前状态

我对C#中的状态模式实现不熟悉,您能提供一些相关信息吗? 我正在使用状态模式重构一个包含5个状态的状态机。目前只能通过向前或向后遍历状态来操作,例如从状态1需要经过状态2、3和4才能最终到达状态5。 我可以通过进行以下操作向前移动: mainclass.State = ne...

8得票2回答
给我一个实际的、非平凡的使用状态模式的例子。

我正在寻找一个使用状态设计模式解决或简化有趣或复杂状态转换的示例。有很多三个或四个简单状态的示例。但是,有没有来自实际项目的代码,其中包含子状态和超过一小部分的转换?这种代码实际上激励了模式的使用。奖励指向代码的指针!

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

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