Cykl autorstwa Macieja Aniserowicza omawiający pisanie testów jednostkowych z wykorzystaniem mocków przy użyciu biblioteki Rhino Mocks.
Architektura 5543 dni, 8 godzin, 42 minuty temu 96 źrodło rozwiń
Pewnie nie raz staliście przed sytuacją, w której jakaś z funkcji spowodować może powstanie wyjątku, którego wystąpienie trzeba zalogować i przerzucić go dalej (re-throw), aby aplikacja zajęła się nim jak należy. Jednocześnie idealnie, gdy wyjątek zawierał będzie jak najwięcej informacji. Zalicza się do nich przyjaciel każdego programisty – StackTrace.
Architektura 5543 dni, 8 godzin, 42 minuty temu 75 źrodło rozwiń
Autor: Bardzo szybko przywykłem do idei "domain events" Udiego i nie spodziewałem się napotkania w kodzie DDDSample innego rozwiązania. Jakież było więc moje zdziwienie, gdy zdarzenia (z natury) domenowe odnalazłem nie na poziomie modelu domeny, ale na poziomie warstwy aplikacyjnej. Postanowiłem przejrzeć się bliżej temu tematowi (zamiast na ślepo kopiować Javowe rozwiązanie).
Architektura 5544 dni, 10 godzin, 9 minut temu 83 źrodło rozwiń
Autor: Przypadkiem trafiłem na fajny cheetsheet zawierający zestawienie podstawowych wzorców projektowych, może się komuś przyda :)
Architektura 5545 dni, 47 minut temu 366 źrodło rozwiń
Dzisiaj odrobina odnośnie dostosowywania serializacji do własnych potrzeb. Na pierwszy ogień interfejs ISerializable, pozwalający na ‘wrzucenie’ do serializowanego strumienia tego co chcemy i pod jaką nazwą chcemy.
Architektura 5556 dni, 19 godzin, 40 minut temu 104 źrodło rozwiń
Dzisiaj kolejna porcja nadrabiania zaległości z podstawowych podstaw(bo jak inaczej to idzie nazwać?), tym razem serializacja.
Architektura 5561 dni, 18 godzin, 20 minut temu 152 źrodło rozwiń
Autor: W przedostatnim wpisie, poruszyłem temat napisania własnego walidatora do daty. Dziś napotkałem na podobny problem – walidacja kontrokli CheckBoxList pod kątem zaznaczenia przynajmniej jednej wartości. Jakieś było moje zaskoczenie ;-) gdy okazało się, że żadna z domyślnych kontrolek walidatorów nie potrafi tego niezmiernie skomplikowanego zadania wykonać ;-) Oczywiście można to załatwić banalnie: CustomValidator i odpowiednia prosta funkcja. Gdzie jednak ponowne wykorzystanie kodu – tak przec...
Architektura 5561 dni, 18 godzin, 20 minut temu 111 źrodło rozwiń
Dziś zaczniemy cytatem. Jak ktoś wie z czego to i kto to mówi to pogratulować dobrego gustu :) Czemu nie ma prądu? Bo u nas nie ma minusów, tylko same plusy... A czemu taki cytat? A no dlatego, że chciałem wykonać wydawałoby się banalną czynność wyświetlenia wartości double z '+' z przodu.
Architektura 5566 dni, 10 godzin, 13 minut temu 73 źrodło rozwiń
Często dane, które posiadamy musimy odpowiednio sformatować przed ich wyświetleniem.Jeżeli takie dane musimy zwalidować, to warto zadbać, aby walidowane dane były w takim samym formacie jak je wyświetlamy.
Architektura 5569 dni, 10 godzin, 27 minut temu 45 źrodło rozwiń
Czy zauważyliście kiedyś nad startową procedurą aplikacji (main) atrybuty: [STAThread] i [MTAThread]? Od nich zależy w jakim trybie będzie działał wątek główny aplikacji: Single Threaded Apartment, czy Multi Threaded Apartment?
Architektura 5570 dni, 22 godziny, 46 minut temu 257 źrodło rozwiń
Wspomnę dzisiaj o dość dziwnej funkcji, która została dodana w wersji 3.0 języka C#. Polega ona na możliwości dodania nowych metod do istniejących klas bez zmiany ich definicji. Odbywa się to poprzez zdefiniowanie tych dodatkowych metod jako statycznych (w innych klasach) i użyciu specjalnej składni dla jej pierwszego parametru.
Architektura 5572 dni, 18 godzin, 14 minut temu 114 źrodło rozwiń
Na dzisiaj wzorzec prosty i przyjemny: State(Stan). Jak sama nazwa wskazuje służy on do radzenia sobie z wszelkimi sytuacjami, gdzie występują pewne stany, od których zależy to, co zostanie wykonane w ramach operacji. Weźmy pod uwagę przykład znany wszystkim(aczkolwiek rozpaczliwie uproszczony): winda, a konkretnie jej drzwi.
Architektura 5576 dni, 1 godzinę, 38 minut temu 125 źrodło rozwiń
Wzorzec Interpreter, będący właściwie kompozytem, z tą drobną różnicą, że stosowany jest on do intepretowania/przetwarzania danych zapisanych w jakimś konkretnym języku/składni. Zbierając informacje na jego temat kilkukrotnie natknąłem się na wzmiankę, że przy bardziej skomplikowanym ‘języku’(czymkolwiek, co jest do interpretowania) nie jest on najlepszym wyjściem, ponieważ wydajnościowo troszeczkę kuleje.
Architektura 5580 dni, 10 godzin, 2 minuty temu 108 źrodło rozwiń
Modifiability: Or is there Design in Agility? Dziesiejszy poranek spędziłem oglądając kolejny film z InfoQ: "Modifiability: Or is there Design in Agility?". Film ten jest nagraniem panelu dyskusyjnego z udziałem architektów ThoughtWorks pod przewodnictwem Martina Fowlera, przeprowadzonego na konferencji QCon w listopadzie 2007 roku. Oto fragmentaryczne notatki z prezentacji: OOD/OOP/DDDDavid Farley, rozpoczynająć dyskusję na ten temat, dzieli się swoją definicją OOP/OOD: obiektowe techniki programowania...
Architektura 5585 dni, 3 godziny, 48 minut temu 16 źrodło rozwiń
Wstęp do wzorca MVP filed in .NET, Programowanie on Aug.23, 2009 Jestem leniem. Tak przyznaję się bez bicia. Ile razy piszę jakąś aplikację, czy to na własny użytek czy na zajęcia uczelniane, tak bardzo staram się skupiać na niezłym dizajnie logiki biznesowej, że jak przychodzi do napisania interfejsu graficznego po prostu olewam sprawę i idę po najniższej linii oporu. Przykładowo w aplikacjach WinForms-owych pakuję wszystko jak leci pod event handlery nie zastanawiając się nawet nad konsekwencjami…bo i...
Architektura 5587 dni, 23 godziny, 22 minuty temu 413 źrodło rozwiń
Dzisiaj kilka słów na temat wzorca Flyweight – “waga piórkowa”. Wzorzec ten należy do grupy wzorców strukturalnych. Flyweight zajmuje się udostępnianiem pojedynczego obiektu wielu klientom. Wspólny dostęp znajduje zastosowanie gdy występuje potrzeba zarządzania dużą ilością obiektów(setki, tysiące, itp), które posiadają jakąś niezmienną część. Dość prymitywnym przykładem może być proces tworzenia oferty sprzętu: zamiast do każdego długiego opisu powiedzmy procesora, wraz z wszystkimi danymi technicznymi,...
Architektura 5587 dni, 23 godziny, 22 minuty temu 172 źrodło rozwiń
Chciałbym podzielić się z Wami moimi refleksami po obejrzeniu prezentacji Martina Fowlera i Jima Webbera zatytułowanej "Does My Bus Look Big in This?". Prezentacja ta odbywała się podczas konferencji QCon w Londynie w 2008 roku. Minęło już sporo czasu, jednak główne przesłanie nie straciło nic ze swojej aktualności. A przesłaniem tym jest: nie potrzebujemy wielkich, ciężkich i kosztownych produktów ESB! Pierwsza część prezentacj poświęcona jest charakteryzacji typowego pr...
Architektura 5591 dni, 2 godziny, 20 minut temu 20 źrodło rozwiń
NULL vs. Exception, a może alternatywa? filed in .NET, Programowanie on Aug.13, 2009 Czasem tak się dzieje, że czytając swój własny kod pierwszy raz od kilku miesięcy mamy problem z jego zrozumieniem, zwłaszcza jeżeli nie komentujemy go w odpowiedni sposób. Ale nie jest to jedyna przyczyna problemu. Ostatnio analizując stare projekty doszedłem do wniosku, że istnieje w nich mnóstwo kodu zaciemniającego rzeczywistą logikę działania. Mam tu na myśli dziesiątki wyrażeń postaci if (something != null) i podo...
Architektura 5592 dni, 2 godziny, 27 minut temu 112 źrodło rozwiń
Maciej Aniserowicz o poprawianiu obsługi wyjątków w EntLib.
Architektura 5592 dni, 20 godzin, 1 minutę temu 48 źrodło rozwiń
DbC - czyli wyraź swoje intencje Dzisiaj nieco koncepcyjnie (no tak - a kiedy nie było :)) na temat idei kontraktów, tego jak podchodzić z tą myślą do projektowania i implementacji. O czym konkretnie myśleć i w ogóle PO CO w ten sposób myśleć. Sama idea Design by Contract wprowadzona została przez twórców języka Eiffel. Nie wiem co panowie mieli na myśli jeśli chodzi o ideologię, lecz zwykle przedstawiana jest przez wprowadzenie pojęć: wymagania (precondition) - warunki wejściowe kontraktu,zapew...
Architektura 5594 dni, 23 godziny, 11 minut temu 16 źrodło rozwiń