RSS

Blog

Projektowanie oprogramowania w świecie .NET. Agile, OOP, wzorce projektowe, DDD, ORM, TDD, AOP i inne...

Strona

 1 2 3  
Aktualizacja danych...

EuroManager. Zastosowanie Code Contracts

20 października 2010 Odsłon: 2490 Komentarze: 4

Design by Contract (TM) to technika programowania defensywnego, postulująca jawne specyfikowanie interfejsów komponentów, np. poprzez deklarowanie warunków, które muszą spełniać argumenty metod (to w zasadzie najczęstszy przypadek). Zwykle w projektach realizujemy to wymaganie albo poprzez zwykłe if-y rzucające ArgumentException, albo tworząc statyczne klasy pomocnicze, takie jak Check czy Require. Od pewnego czasu dostępne jest narzędzie Code Contracts opracowane przez Microsoft Research i to z niego zdecydowałem się skorzystać w projekcie EuroManager. Czytaj dalej...

EuroManager. Ruch zawodników - obracanie

10 października 2010 Odsłon: 381 Komentarze: 1

Zawodnik w czasie biegu zwrócony jest w stronę wskazywaną przez jego wektor prędkości, natomiast stojąc zwykle stara się obrócić w kierunku piłki. Ten mechanizm jest tak naprawdę potrzebny głównie do odpowiedniego wyświetlania ikonek piłkarzy. Najprościej byłoby zaimplementować to w taki sposób, żeby w każdej klatce ustawiać kąt obrotu zawodnika na zgodny z kierunkiem ruchu i przy wyświetlaniu obracać obrazek reprezentujący piłkarza o taki właśnie kąt. Oczywiście, gdyby takie podejście działało poprawnie, nie napisałbym tego artykułu. Czytaj dalej...

EuroManager. Ruch zawodników - bieganie i skręcanie

9 października 2010 Odsłon: 327 Komentarze: 0

Podobnie jak w przypadku piłki, w tym artykule zamierzam się skupić na mechanicznych (fizycznych) aspektach ruchu, pomijając na razie cały proces podejmowania decyzji, który zresztą wymaga jeszcze wiele pracy. Generalnie implementacja zachowania zawodników na boisku podzielona jest na trzy odrębne komponenty, jak można zobaczyć na poniższym diagramie. Czytaj dalej...

EuroManager. Test-Driven Development w aplikacji real-time

26 września 2010 Odsłon: 2229 Komentarze: 0

Logika biznesowa projektu jest w znaczącej większości pokryta testami jednostkowymi. Od pewnego momentu do każdej nowej funkcjonalności staram się stosować podejście Test-Driven Development, pisząc najpierw testy ją definiujące. Nie robiłem tego od samego początku, bo wahałem się czy w ogóle będzie to możliwe i wygodne w systemie, który praktycznie działa jako aplikacja czasu rzeczywistego. Okazało się jednak, że dzięki kilku prostym posunięciom mogę z powodzeniem stosować testy jednostkowe i TDD, a nawet więcej - nie wyobrażam sobie teraz rozwijania tego projektu w inny sposób. Czytaj dalej...

EuroManager. Realizacja ruchu piłki

25 września 2010 Odsłon: 356 Komentarze: 0

Opis implementacji mechanicznych zachowań obiektów (bo sztuczna inteligencja to inna sprawa) rozpocznę od najprostszego przypadku, czyli od piłki. Jest on prosty dlatego, że nie uwzględniam na razie jej rotacji, więc wszystko sprowadza się do ruchu po kopnięciu przez zawodnika i opóźnienia w wyniku kontaktu z podłożem. Czytaj dalej...

EuroManager. Logika symulatora meczów - wprowadzenie

22 września 2010 Odsłon: 416 Komentarze: 0

Po trzytygodniowej przerwie spowodowanej urlopowymi wyjazdami, chorobą i - na deser - awarią serwera, wracam do opisywania postępów w projekcie EuroManager (przypominam: konkurs Daj się poznać). W najbliższych dniach postaram się nadrobić to dłuższe milczenie z nawiązką. Dzisiaj rozpoczynam cykl artykułów poświęconych najważniejszej części aplikacji, czyli logice symulatora meczów. Czytaj dalej...

EuroManager. Transfer danych do aplikacji Silverlight

31 sierpnia 2010 Odsłon: 703 Komentarze: 0

W poprzednich artykułach opisałem dość szczegółowo implementację odtwarzacza relacji meczowych, zrealizowanego jako aplikacja Silverlight umieszczona na stronie ASP.NET MVC. Skomplikowaną kwestią okazało się przekazywanie danych wejściowych do tej aplikacji. W większości przypadków w takich sytuacjach potrzebujemy przekazać tylko proste informacje, jak nazwa użytkownika czy ID, po którym - poprzez usługi WCF - możemy dociągnąć resztę danych. Tutaj jednak wolałem unikać opierania się o WCF (potencjalne problemy hostingowe), a zakres danych do przekazania jest dość obszerny. Czytaj dalej...

EuroManager. Relacje meczowe - logika prezentacyjna

30 sierpnia 2010 Odsłon: 294 Komentarze: 0

W poprzednim artykule opisałem mechanizm relacji meczowych od strony widoku, teraz z kolei czas zająć się tym trudniejszym (choć nie tak bardzo) elementem układanki, czyli view modelem i logiką prezentacyjną. Czytaj dalej...

Strona

 1 2 3  
Aktualizacja danych...

Kontakt CV

Ja

Rafał Barszczewski
rb07 at interia.pl
gg: 1242248

Sonda

Jakiego O/R mappera używasz najczęściej w .NET?







Aktualizacja danych...

RSS

20 września 2008

Jak widać, spore zmiany. Zaimplementowałem najważniejsze funkcjonalności, które powinien mieć każdy silnik blogów, a których do tej pory u mnie brakowało. Chodzi mi tu przede wszystkim o tagi i RSS. Poza tym strona startowa bloga będzie teraz wyświetlać najnowszego posta, a na panelu bocznym pojawiła się lista ostatnich wpisów.

Ponadto, postanowiłem wznowić pisanie postów (a właściwie je rozpocząć - bo na dobrą sprawę nigdy poważnie nie zacząłem). W końcu w jakimś celu to wszystko zaprogramowałem ;) Tematyka, którą będę chciał w najbliższym czasie poruszyć, obejmuje zagadnienia związane z projektowaniem i testowaniem aplikacji oraz metodykami i narzędziami, które te procesy wspomagają. Zapewne najwięcej będzie o Domain-Driven Design i Test-Driven Development, choć spróbuję podejść do tych tematów bardzo pragmatycznie (technicznie). Mam też plan, żeby w miarę pisania kolejnych części powstawała konkretna, przykładowa aplikacja, która mogłaby posłużyć jako case-study. Co z tego wszystkiego wyjdzie - zobaczymy niebawem.

13 kwietnia 2007

Nie doszedł (na razie) żaden nowy wpis, ale za to przeorganizowałem trochę ten dział. Na głównej podstronie znajdują się teraz same nagłówki wpisów, a całość możemy przeczytać (i skomentować) po przejściu do szczegółów.

21 października 2006

Pierwszy, historyczny wpis w moim blogu. Od tej pory postaram się regularnie dodawać nowe posty. A już niedługo - moje wrażenia z Microsoft Technology Summit (24-25.10).