Wpis z mikrobloga

Pytanie w temacie Spring Boota. Dlaczego w wielu przykładach w internecie zamiast wstrzykiwać do kontrolera bezpośrednio klasę DAO, tworzy się interfejs który ona implementuje i jego używa w kontrolerze. Ktoś mi wytłumaczy jaki jest sens takiego rozwiązania? #spring #java #programowanie #informatyka #it
  • 4
  • Odpowiedz
@atm-Pa: Taką klasę (kontroler) łatwiej się testuje, jeżeli nie chcesz testować całego flow aplikacji, bądź też można łatwo wstrzyknąć inną implementację DAO, lub jakiegokolwiek innego komponentu (jeśli jest taka potrzeba), wykonujący jakąś tam określoną logikę w inny sposób. Jeżeli nie spodziewasz się innej implementacji, oraz preferujesz testowanie klas w oparciu o mocki, to możesz korzystać z konkretnych klas, zamiast tworzenia interfejsów na siłę.
  • Odpowiedz
@Bairei: @atm-Pa: Jest jeszcze jedna odpowiedź na ten problem: w jee/springu kiedyś trzeba było tworzyć interfejsy dla beanów ;) IMO jeżeli wiesz że nie bedziesz miał na razie innej implementacji danego interfejsu to odpuściłbym sobie tworzenie go. Późniejsze dodanie go to 3 kliki w IDE a po co od początku zaśmiecać projekt.
  • Odpowiedz