eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak używać wyjątkówRe: Jak używać wyjštków
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
    From: gregorius <gruza@spamerom_nie.priv4.onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Jak używać wyjštków
    Date: Mon, 25 May 2009 10:38:11 +0200
    Organization: http://onet.pl
    Lines: 60
    Message-ID: <gvdldj$gdd$1@news.onet.pl>
    References: <bQxQl.48828$iK7.2372@newsfe08.ams2>
    <s...@4...com> <guuejr$f01$1@news.onet.pl>
    <RazQl.191454$Oi7.182266@newsfe23.ams2> <guufl7$i3b$1@news.onet.pl>
    <GgDQl.186360$y17.156510@newsfe11.ams2>
    <gv0inu$m81$1@nemesis.news.neostrada.pl>
    <lMsRl.484$zS4.134@newsfe29.ams2> <gv5r57$98q$1@news.onet.pl>
    <1X7Sl.169175$aj5.123564@newsfe16.ams2>
    Reply-To: gruza@spamerom_nie.priv4.onet.pl
    NNTP-Posting-Host: futuro.bielbit.com.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1243240692 16813 62.233.146.126 (25 May 2009 08:38:12 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Mon, 25 May 2009 08:38:12 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.21 (Windows/20090302)
    In-Reply-To: <1X7Sl.169175$aj5.123564@newsfe16.ams2>
    Xref: news-archive.icm.edu.pl pl.comp.programming:182146
    [ ukryj nagłówki ]

    somebody pisze:
    > Jacek Czerwinski pisze:
    >> somebody pisze:
    >>> Wiktor Zychla pisze:
    >>
    >>> nie chodzi o korzystanie z tych gotowych kombajnów. Bardziej chodzi
    >>> mi o naukę i poszerzenie wiedzy.
    >>>
    >>> Przykładowa aplikacja w .net framework to 4 dllki (data, view, mssql,
    >>> utils) oraz aplikacja webowa. I interesuje mnie, jak sensownie
    >>> wyświetlać użytkownikowi informacje na temat błędnie wpisanych danych
    >>> w formularza. Walidatory pól nie są do końca dobrym rozwiązaniem.
    >>
    >> Szkoły, czy przynajmniej akcenty są nieco rózne.
    >> jedna ze szkół "wyjątek to cos wyjątkowego" (w sensie normalne
    >> sytuacje robi się normalnie) (np. w javie jak biblioteki i JVM z
    >> zasady dośc mocno optymalizują, tak nikt nie optymalizuje obsługi
    >> wyjątków. Stwierdzenie stosunkowo oficjalne bo chyba z Joshua Blocha)
    >>
    >> Inna szkoła: obsługiwać jak najbliżej.
    >>
    >> A może potrzebujesz po prostu dobrych walidatorów?
    >>
    >> Zawsze możesz odziedziczyć własne exception, ale to oznacza znów jedną
    >> więcej zależność po obu stronach throw/catch.
    >
    > Jestem świadom, że szkół jest wiele i podejścia mogą być przeciwstawne,
    > dlatego najpierw zapytałem o literaturę, aby móc wyrobić sobie jakieś
    > własne zdanie.
    >
    > Walidatory nie wydają się być dobrym rozwiązaniem. Mam np. klienta
    > (encja, byt z wycinka rzeczywistości), który posiada numer NIP. Jak
    > rozsądnie powinno wyglądać sprawdzenie czy numer wprowadzany przez osobę
    > obsługującą aplikację jest poprawny czy też nie?
    >
    > Teoretycznie może być to walidator w warstwie prezentacji, ale: dla
    > warstwy prezentacji jest wzorzec MVP i może się ona zmienić. Zresztą mam
    > wrażenie, że warstwa prezentacji nie jest najlepsza do tego. Więc gdzie?
    > Niżej? Warstwa logiki? Ale dane są przechowywane w bazie danych i
    > lepiej, żeby nikt błędnych insertów (w trakcie programowania) nie
    > zrobił. Więc może procedura składowana dla wstawiania rekordu z
    > odpaleniem innej procedury dla walidacji? Do zrobienia, jakoś logicznie
    > uzasadnione.
    [...]

    Musisz wyważyć gdzie walidować. Z jednej strony szkoda pisać tę samą
    walidację wiele razy, więc teoretycznie można by ją umieścić tylko w
    bazie danych (np. walidować za pomocą trigerów). Ale wywołania bazy
    danych są wywołaniami zdalnymi, więc ich nadmiar negatywnie wpływa na
    wydajność. Więc przeważnie przesuwa się walidację bliżej użytkownika -
    do warstwy logiki lub prezentacji. Dla mnie najwygodniej robi się
    walidację w warstwie logiki, ale w aplikacjach ASP.NET (o których
    wspomniałeś) szkoda generować żądanie z przeglądarki do klienta WWW po
    to, żeby za chwilę powiedzieć, że pole nie może być puste.

    Pozdrawiam

    --
    Grzegorz Gruza
    Odpowiadając usuń "spamerom_nie." z adresu!!!

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: