java-如何重构模型?

我有对象模型,它描述了有关工作程序的说明:

 

>前往位置
>得到一个项目
>转到另一个位置
>选择另一个项目
> ……..
>完成工作

在我的应用程序中,我需要此说明的列表以指导工人的工作.

指令的类型非常不同,这就是为什么描述指令所需的数据可以不同的原因.要更改位置,我只需要位置ID,但是要获取商品,我还需要商品ID,数量和商品名称以及位置ID.

所以我的模型看起来像这样:

 

public class Instruction{
    int locationId;
    int itemId;
    String itemName;
    String quanity;
    Type itemType; // can be Type.GET_ITEM, Type.CHANGE_LOCATION etc.
}

因此,我遇到的情况是我用一个模型描述了不同的实体.

我应该接受这一点,还是有消除重复的方法?

我想要的是保持将所有指令存储在列表中的能力,但要使模型更简洁.

最佳答案

这样的事情怎么样?

 

 

interface Instruction {}

class LocationInstruction implements Instruction { 
    int locationId;
    public String toString() { return "Go to the location " + locationId; } ;
}

class ItemInstruction implements Instruction {
    Item item;
    public String toString() { return "Pick item " + item.toString(); } ;
}

class Item {
  int itemId;
  ...
  public String toString() { return "Item{itemId: "+itemId+"}" ;}
}

class Actions {
  public List<Instruction> getInstructions();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值