![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 7 Dołączył: 5.08.2009 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Witam czytam właśnie o programowaniu obiektowym i zastanawiam się nad pewną kwestią.
Jeżeli dla danego obiektu wszystkie składowe będą dostępne za geterami i seterami, to autorzy książki zalecają sprawdzanie poprawności danych w tych metodach i rzucanie np. wyjątków. Zastanawiam się nad praktycznym zastosowaniem, bo jeżeli wypełniony POST nie będzie miał poprawnej wartości to raczej nie będziemy chcieli walić errorami. Spotkałem się z rozwiązaniem polegającym na tworzeniu klasy, która pobiera wartości np. z POST, a następnie zwraca tablicę z errorami, którą można wyświetlić. Taka klasa ma sens, ale co wtedy ze sprawdzaniem w geterach i seterach ? Olać czy powielać, co wpłynie negatywnie na wydajność. Mam nadzieję, że opisałem jasno. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 30.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli tworzenie i aktualizacja obiektu następuje tylko w jednym miejscu - formularz. To możesz odpuścić sobie walidacje w setterach. Jeżeli jednak obiekt jest w zależności z innymi które mogą zmieniać jego stan to powinien sam zadbać o jego spójność i walidować dane. Zamiast walić errorami możesz wyrzucać jakiś ogólnie przyjąty wyjątek np InvalidArgumentException lub ValidationException, co by go przechwycić w formularzu i nie grzeszyć podwójną walidacją (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 18:36 |