Rysunek 1. Przedstawia wzorzec projektowy: Fabryka

Rysunek 2. Przedstawia już zaimplementowany (napisany kod) - szare kafelki, oraz ten który należy dopisać podczas tego zadania - fioletowe kafelki

 

Zadanie ma na celu przeniesienie (dużo kopiowania i wklejania) pobierania danych z ExpensesService, metoda getFilteredExpenses do klasy FilteredRange i metody getAllByFilter.

 

Do nowej klasy powinien zostać przeniesiony warunek, który wywołuje getAllExpensesBetweenDate (pośrednio lub bezpośredni), wraz z metodami pomocniczymi.

 

Również walidacja, która jest wykonywana poprzez wywołanie klasy ParametersValidator i metodę assertFilter, powinna znajdować się w klasie FilterRange.

 

Podczas przenoszenie metoda getAllExpensesBetweenDate, w nowej implementacji, zostanie zastąpiona wywołaniem abstrakcyjnej metody getAllEntityBetweewDate.

 

Klasa FilteredRange powinna posiadać:

- adnotację @Component

- wstrzyknięty obiekt w pole typu: ExpensesFilterParametersValidator

 

HINT: Pamiętaj o końcówce daty Instant.

 

HINT: Usuń nieaktualne pola, metody, w klasach które zostały zmodyfikowane.

 

HINT: Test powinien wymagać inicjalizacji użytkownika, metoda: initDatabaseByPrimeUser

09 Rozszerzenie FactoryDesignPattern Filtry Przychodów

02 marca 2024

Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online

Strona www stworzona w kreatorze WebWave.