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
@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łę.