Глянь мій новий курс по Git! Привіт! Глянь мій новий курс по Git! Привіт! Глянь мій новий курс по Git на GitByBit.com! Привіт! Хочеш класно освіжити Git? Глянь мій новий курс на GitByBit.com!

Альтернативні класи з різними інтерфейсами

Також відомий як: Alternative Classes with Different Interfaces

Симптоми і ознаки

Два класи виконують однакові функції, але мають різні назви методів.

Причини появи

Програміст, який створив один з класів, скоріше за все, не знав, що в програмі вже існує аналогічний за функціоналом клас.

Лікування

Потрібно привести інтерфейс класів до спільного знаменника:

Виграш

  • Ви позбавляєтесь від зайвого дублювання коду, і, таким чином, зменшуєте його розмір.

  • Підвищується читабельність коду, поліпшується його розуміння. Вам більше не доведеться гадати, навіщо створювався другий клас, який виконує точно такі ж функції, як і перший.

Не варто чіпати, якщо...

  • Іноді об’єднання класів виявляється неможливим або настільки складним, що сенсу займатися цією роботою немає. Один із прикладів — альтернативні класи знаходяться в двох різних бібліотеках, кожна з яких має свою версію класу.