清理或缩短代码

时间:2017-09-18 19:38:13

标签: java

我有点麻烦,这已经困扰了我几天,我似乎无法掌握是否有可能缩短此方法(取自界面),(更新):

public Pair<Map<Position, Unit>,Map<Position,City>> performAction
             (Position p, Map<Position, Unit> unitMapping, Map<Position,City> cityMapping);

由于长度很难弄清楚,但由于策略模式(这是强制性的,因此无法更改设计模式),我使用它来从方法调用中传回两个哈希映射。

所以我一直在想可能有一种更短的方式,比如分配两个抽象值,如Pair或者其他东西。欢迎提示或示例!

1 个答案:

答案 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);

在上面的例子中,将两张地图都放在一个类中是有意义的,因为它们是耦合的,但我们不知道故事的其余部分。