ostatnio robiłem zadanie rekrutacyjne z #symfony ale od razu im powiedziałem, że nie mam komercyjnego doświadczenia z tym frameworkiem i tak średnio go znam. No i teraz chcą ze mną omówić ten projekt :D
Dodatkowe pytanie: W feedbacku dostałem Brak bardziej zaawansowanej architektury, użycia wzorców projektowych, interfejsów itd. W projekcie posiadam jeden form type, dwa entity, jeden serwis. * Do czego powinienem dodać interfejs?
- A co jeśli żądanie nie jest $request->isXMLHttpRequest()? - Brakuje mi komentarzy. Przy komentowaniu polecałbym skupić się na pytaniach "dlaczego coś się dzieje" niż po prostu "coś się dzieje". - Dobrym pomysłem może byłoby wydzielenie interfejsu serwisu map pogodowych (wtedy można podmieniać na accuweather, bez przepisywania kontrolera). Można wtedy też spiąć kilka serwisów, priorytety etc. - Unika się trzymania Menadżera Encji w kontrolerze, bo to jest już przetwarzanie i wiąże kontroler z bazą danych. Jeśli już to jakiś serwis pośredni: WeatherStore(Interface), oraz własny interfejs repozytorium, ale to chyba można by odpuścić na tym etapie. - Pobierasz repo miast z menadżera encji. Można by od razu je wstrzyknąć w konstruktorze.
Czy ktoś z #programista15k wrzuciłby okiem na ten controller https://pastebin.pl/view/23ff6413 i podpowiedział gdzie przenieść nadmierną logikę z niego?
Dodatkowe pytanie: W feedbacku dostałem Brak bardziej zaawansowanej architektury, użycia wzorców projektowych, interfejsów itd. W projekcie posiadam jeden form type, dwa entity, jeden serwis.
* Do czego powinienem dodać interfejs?
- Brakuje mi komentarzy. Przy komentowaniu polecałbym skupić się na pytaniach "dlaczego coś się dzieje" niż po prostu "coś się dzieje".
- Dobrym pomysłem może byłoby wydzielenie interfejsu serwisu map pogodowych (wtedy można podmieniać na accuweather, bez przepisywania kontrolera). Można wtedy też spiąć kilka serwisów, priorytety etc.
- Unika się trzymania Menadżera Encji w kontrolerze, bo to jest już przetwarzanie i wiąże kontroler z bazą danych. Jeśli już to jakiś serwis pośredni: WeatherStore(Interface), oraz własny interfejs repozytorium, ale to chyba można by odpuścić na tym etapie.
- Pobierasz repo miast z menadżera encji. Można by od razu je wstrzyknąć w konstruktorze.
Założenie