cześć
mam problem - chcę napisac walidator (c++, ale to nieważne), który sprawdza
- cechę elementu w odniesieniu do innych cech (jak ktos wybierze/zmieni określony typ to trzeba sprawdzić materiał, czy dany typ pasuje do materiału)
- cechę elementu w odniesieniu do właściwości "zewnetrznych" (np czy coś nie jest za wysokie, szerokie etc)
- cechy elementu (różne) w odniesieniu do innych elementów - (czyli w jak ładujemy cos do paczek, to żeby te paczki były jednorodne [wymiar, ciężar, maetriał itd])
- czasami zmiana jednej cechy wymaga sprawdzenia zmienianego parametru, czasami jest to grupa parametrów (np zmieniam typ. to sprawdzam czy wybrałem poprawny typ, ale musze tez sprawdzić materiał) a jak zmieniam/dodaję jakąś labelkę/oznaczenie to sprawdzam tylko czy mogę to oznaczenie nadać temu elementowi
walidator ma być modułem zewnętrzym - więc klasa sama w sobie nie może mieć w sobie walidatora
zastanawiałem się jak go ładnie zrobić
i wyszło mi na to, ze najlepszy byłby wzorzecz projektowy strategia i w zalezności co będzie sprawdzane, to taką stategię zastosuję, połączony z fabryką, która by tworzyła walidatory, potrzebne do sprawdzania
myślałem tez o dekoratorze, który by "dekorował" jakiegoś bazowego walidatora odpowiednimi walidatokami(sprawdzaczami) w zależności od potrzeb walidacyjnych
co o tym sądzicie?
który pomysł lepszy?
jak miałby ktoś inny pomysł, albo spostrzezenia to z chęcia posłucham