我有以下界面:
public interface Gravy {
public List<Giblet> getGiblets();
public Giblet getGiblet(String id);
public int getNumGiblets();
public void addGiblet();
public void removeGiblet(Giblet giblet);
public List<Carrot> getCarrots();
public Carrot getCarrot(String id);
public int getNumCarrots();
public void addCarrot();
public void removeCarrot(Carrot carrot);
public List<Gravy> getGravies();
public Gravy getGravy(String id);
public int getNumGravies();
public void addGravy();
public void removeGravy(Gravy gravy);
}
如您所见,我的Gravy
. 一个Gravy
对象可以包含内脏、胡萝卜和其他(较小的)肉汁。所有这些都可以添加、删除或查询。
有两点需要注意:
Carrot
s 和Giblet
s 有一些共同点,但都与Gravy
s 有很大不同。稍后我可能需要添加更多项目(因此需要重构)......
是否可以减少上面的代码,使“动词”只写一次?