Методы рефакторинга кода. Извлечение интерфейса.

Извлечение интерфейса - это техника рефакторинга, которая заключается в создании нового интерфейса, определяющего набор связанных методов, а затем заставляет соответствующие классы реализовывать этот интерфейс. Это может облегчить изменение реализации этих методов без влияния на остальную часть кода.

 

 

 

 

 

 

 

Programming

Чтобы извлечь интерфейс, вы можете выполнить следующие шаги:
1. Определите методы, которые вы хотите включить в интерфейс. Они должны быть связаны с конкретной обязанностью или концепцией в вашем коде.
2. Создайте новый интерфейс с соответствующими методами.
3. Заставьте соответствующие классы реализовать интерфейс. Для этого вам потребуется реализовать методы, определенные в интерфейсе, в каждом из реализующих классов.
4. Обновите все ссылки на реализованные методы, чтобы они использовали тип интерфейса вместо типа конкретного класса.
5. Протестируйте код, чтобы убедиться, что рефакторинг не нарушил никакой функциональности.

Пример изпользования метода

Вот пример того, как это может выглядеть в коде:

// Before refactoring:

class Order {
  int price;
  int quantity;

  int getTotal() {
    return price * quantity;
  }
}

class OrderHistory {
  List orders;

  void printTotals() {
    for (Order order : orders) {
      System.out.println(order.getTotal());
    }
  }
}

// After refactoring:

interface OrderTotalCalculator {
  int calculateTotal();
}

class Order implements OrderTotalCalculator {
  int price;
  int quantity;

  @Override
  public int calculateTotal() {
    return price * quantity;
  }
}

class OrderHistory {
  List orders;

  void printTotals() {
    for (OrderTotalCalculator order : orders) {
      System.out.println(order.calculateTotal());
    }
  }
}