Dependency injection – poprzez parametr metody

W tej części przykład wstrzyknięcia poprzez parametr metody. Kod przykładowy z aplikacji do obsługi maratonu rowerowego. Są to fragmenty większej całości.

Wyjaśnienie do kodu:

Klasa SimpleAddingParticipant służy do uproszczonego dodania nowego zawodnika, minimalna wymagana ilość informacji tj imię, nazwisko, email i dystans. W bazie ustawiona jest unikalność na imię, nazwisko i email.

Klasa SimpleAddingParticipant wykorzystuję metody z trzech interfejsów:

  • INewRecord – metoda createNewRecord – tworzy nowy obiekt klasy Kartoteka2,
  • IAddZawodnik – metoda addParticipantWithoutTimeRegistrationVerification – wywołuje procedure składowaną, która dodaje nowego zawodnika,
  • IPlayerVerification – metoda searchPlayer – wyszukuje czy dany zawodnik jest już zarejestrowany (zapisany w bazie),
  • metoda validateFormatEmail – sprawdza formę zapisu adresu email

Deklaracja kontraktu

Definicja kontraktu (realizacja)

Wywołanie w kontrolerze (fragment).

Kolejna część to wstrzyknięcie poprzez właściwość klasy.