非常に単純な変更を加えて、実装で複数回使用するメソッドがあります。どうすれば同じことを繰り返さないようにできますか?
...
while (!queue.isEmpty()) {
Element pivot = queue.poll();
elements.remove(pivot);
for (Element a : elements) {
if (areFriends(pivot, a)) {
db.addRelation(a, pivot);
queue.add(a);
elements.remove(a);
}
}
}
...
areFriends 条件を新しい条件 fe areEnemies(Element pivot, Element a) に変更し、コードとデータ構造全体を使い続けたいと考えています。void メソッドを抽出しようとしましたが、この場合、すべての変数 (db、キューなど) を入力として渡す必要があり、アンチパターンのように見えます。この問題を解決する方法はありますか?ありがとうございました!