DDD, porty domenowe i funkcyjne interfejsy

0

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.

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).

0

@Patryk27: Tak, masz rację, ale jak widzisz możliwe jest pisanie w sposób biznesowy nawet prostych apek.
Nawet jeśli ta metoda jest w złym miejscu, to moje pytanie pozostaje aktualne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1