我有点麻烦,这已经困扰了我几天,我似乎无法掌握是否有可能缩短此方法(取自界面),(更新):
public Pair<Map<Position, Unit>,Map<Position,City>> performAction
(Position p, Map<Position, Unit> unitMapping, Map<Position,City> cityMapping);
由于长度很难弄清楚,但由于策略模式(这是强制性的,因此无法更改设计模式),我使用它来从方法调用中传回两个哈希映射。
所以我一直在想可能有一种更短的方式,比如分配两个抽象值,如Pair或者其他东西。欢迎提示或示例!
答案 0 :(得分:0)
评论建议将每个(或两个)地图保存在他们自己的班级中:
class UnitMapping {
Map<Position, Unit> mapping;
}
class CityMapping {
Map<Position, City> mapping;
}
然后
public Pair<UnitMapping, CityMapping> performAction(Position p,
UnitMapping unitMapping,
CityMapping cityMapping);
在上面的例子中,将两张地图都放在一个类中是有意义的,因为它们是耦合的,但我们不知道故事的其余部分。