Mam encję domenową Task z m.in polem Description. Encja udostępnia między innymi metodę IsDescriptionLengthCorrect, która w podejściu obiektowym przyjmowałaby jakiś interfejs, a w innej warstwie ten interfejs byłby implementowany. Chciałem jednak wprowadzić elementy funkcyjne do mojego kodu i teraz metoda isDescriptionLengthCorrect zamiast intefejsu przyjmuje Predicate. W innej warstwie mam DescriptionLengthValidatorProvider z publicznym finalnym (!) polem Predicate z jego implementacją. Czy takie podejście jest ok czy brakuje jakiegoś elementu? Bo obiektowo, to przed implementacją patrzyłbym do folderu z portami i sprawdził jakie intefejsy są do zaimplementowania a teraz muszę zajrzeć bezpośrednio do encji domenowej.
DDD, porty domenowe i funkcyjne interfejsy
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
- Postów: 13042
5
Na moje to brzmi jak https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition; ale po kolei:
Encja udostępnia między innymi metodę IsDescriptionLengthCorrect
Dlaczego? IMO w ogóle nie powinno się dać utworzyć nieprawidłowej encji (np. poprzez rzucenie wyjątku z konstruktora).