Krótka historia o tym jak projektuje aplikacje przy pomocy TDD

O czym będziemy mówić?

Powiedzmy że chemy zarejestrować użytkownika

... o tak bardzo wymagający task

Jak byście zaprojektowali funkcje tworzenia użytkownika w systemie?

Zróbmy formularz, zaprojekujmy baze

i używajmy getterów oraz setterów ponieważ nasz framework do formularzy tego wymaga...

Pomysły?

Nawalmy kodziku w kontrolerze, copy paste jest całkiem fajnym sposobem programowania

Pomysły?

Gdyby tak skupić się na rozwiązaniu problemu, a potem wybrać framework?

Pomysły?

Ok, zaprojektujemy sobie domene...

TDD

PHPSpec

bin/phpspec desc "App\Core\Domain\User"

Teraz jest czas na projektowanie domeny!

No dobra, mamy prosty obiekt modelu co teraz?

Musimy pozwolić na utworzenie konta (rejestracje użytkownika)

Pomysł: Czemu by nie zrobić na to serwisu?

No to specujemy!

bin/phpspec desc "App\Core\UseCase\RegisterUser"

Ok mamy nasz kod co teraz? Gdzie to zapisać i jak to zrobić?

Pora na adaptery, teraz możemy sobie wybrać framework

Laravel

Framework

Doctrine adapter

Ok to teraz zepnijmy sobie appke przy użyciu jakiegoś DIC

Ok mamy spiętą apkę!

Ok to tyle...

Krótka historia o tym jak projektuje aplikacje przy pomocy TDD - PHPers #15

By Leszek Prabucki

Krótka historia o tym jak projektuje aplikacje przy pomocy TDD - PHPers #15

  • 686