Wprowadzenie do wzorów

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

W tej sekcji omawiamy typowe antywzorce, które można zaobserwować w ramach serwerów proxy interfejsów API wdrożonych na platformie Apigee Edge.

Dobra wiadomość jest taka, że każdy z tych antywzorców można wyraźnie zidentyfikować i eliminować, stosując odpowiednie sprawdzone metody. Dzięki temu interfejsy API wdrożone w Edge będą działać zgodnie z przeznaczeniem i będą wydajniejsze.

Podsumowanie antywzorców

Antywzorce wymienione w tej sekcji znajdziesz w poniższej tabeli:

Kategoria Antywzorzy
Antywzorce zasad
Antywzorce zwiększające wydajność
Ogólne antywzorce
Antywzorce backendu
Edge dla antywzorców Private Cloud

Pobierz e-booka z antywzorcami

Oprócz powyższych linków możesz też pobrać antywzorce w formacie e-booka:

Co to jest antywzór?

Wikipedia definiuje programowy antywzorzec jako:

W inżynierii oprogramowania antywzorca to wzorzec, który może być powszechnie stosowany, ale w praktyce nieskuteczny lub odwrotny do zamierzonego.

Mówiąc najprościej, antywzorzec to coś, na co pozwala „użytkownikowi” oprogramowanie, ale jest to coś, co może mieć negatywny wpływ na działanie, przydatność lub wydajność.

Weźmy na przykład wszechstronnie brzmiącą „klasę/obiekt typu God”.

W żargonie zorientowanym obiektowo klasa goda to klasa, która kontroluje zbyt wiele klas dla danej aplikacji.

Przyjrzyjmy się na przykład aplikacji o tym drzewie referencyjnym:

Rys. 1: Klasa bóstwa

Jak widać na ilustracji, klasa bóstwa używa zbyt wielu klas i się do nich odwołuje.

Struktura, w której została opracowana aplikacja, nie uniemożliwia utworzenia takiej klasy, ale ma wiele wad, do których należą:

  • Trudne w utrzymaniu
  • Pojedynczy punkt awarii podczas uruchamiania aplikacji

W związku z tym należy unikać tworzenia takiej klasy. Jest to antywzór.

Docelowi odbiorcy

Ta sekcja przedstawia informacje dla deweloperów Apigee Edge podczas cyklu życia projektowania i tworzenia serwerów proxy interfejsów API dla ich usług. Najlepiej wykorzystywać ją jako przewodnik podczas programowania interfejsu API i podczas rozwiązywania problemów.