Zine.net online

Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc
w Szukaj

arkadiusz.wasniewski

Nie wyrzucamy wyjątków poza Domain Model

Udi Dahan na swoim blogu umieścił ciekawy wpis poświęcony programowaniu według wzorca Domain Model. Jeden z wniosków płynących z tego artykułu, to rezygnacja z wyrzucania wyjątków poza Domain Model, czy też szerzej, poza całą warstwę logiki biznesowej. Jest to zdecydowanie inne podejście od większości promowanych reguł budowania aplikacji złożonych z warstw, gdzie zazwyczaj zaleca się, aby w danej warstwie zdefiniować własny wyjątek i wszystkie przez nas generowane lub wyłapane wyjątki z warstw niższych (zależnych) opakowywać wyjątkiem warstwy i przekazywać dalej.

Rozwiązanie z bloga Dahan'a zdecydowanie bardziej mi się podoba niż przekazywanie wyjątków z warstwy biznesowej do warstwy prezentacji. Jedyne moje zastrzeżenia budzi klasa FailureEvents, służąca do obsługi błędów płynący z logiki biznesowej. Razi mnie to, iż jest ona statyczna. Osobiście wydaje mi się, przynajmniej jeśli mówimy o programowaniu w ramach Windows Forms, iż znacznie lepiej byłoby wprowadzić fasadę umożliwiającą wywoływanie klas Domain Model i zawierającą niestatyczne zdarzenia obsługi sytuacji błędnych.

Polecam również komentarz Ayende Rahien'a twórcy Rhino.Mocks, który między innymi proponuje zastąpienie zdarzeń metodami zwrotnymi (tutaj w pełni zgadzam się z Ayende).

Opublikowane 25 marca 2008 11:47 przez arkadiusz.wasniewski

Komentarze:

Brak komentarzy
Komentarze anonimowe wyłączone
W oparciu o Community Server (Personal Edition), Telligent Systems