Java 订单的建模状态

Java 订单的建模状态,java,status,modeling,Java,Status,Modeling,对订单的状态进行建模的最佳方法是什么?目前,我采用的是肮脏的方法,通过如下硬编码 class Order{ ... String orderStatus; ... public Order(){ ... orderStatus = "pending"; } } 稍后,当状态更改为“确认”时,我会 myorder.setOrderStatus("confirmed"); 但是,我开始意识到这不是正确的方法。正确的建模方法应该是什么?我应该使用

对订单的
状态
进行建模的最佳方法是什么?目前,我采用的是肮脏的方法,通过如下硬编码

class Order{
   ...
   String orderStatus;
   ...

   public Order(){
     ...
     orderStatus = "pending";
   }
}
稍后,当状态更改为“确认”时,我会

myorder.setOrderStatus("confirmed");

但是,我开始意识到这不是正确的方法。正确的建模方法应该是什么?我应该使用枚举吗?。

一个枚举和一个具有良好定义转换的状态机。

使用枚举比使用随机字符串要好得多是的


我会研究设计模式,否则我认为您可能会得到大量以当前状态变量为条件的代码,而当前状态变量也很难闻。

enum适用于很少更改的情况。 但若你们把它们保存在数据库中,那个么你们就可以很方便地进行更改