Architektura – Maraton – krok piąty

Zmiana architektury maratonu zakończyła się.  Testy przeszły pozytywnie, unit testów nie mam (uczę się). Poklikałem po aplikacji zarejestrowałem się wiele razy, mejle przychodzą poprawnie, rejestracja odbywa się bez problemu. Po zakończeniu tego etapu mam aplikację w której istnieje projekt posiadający interfejsy i modele danych zbudowanych w oparciu o Entity Frameworka Więcej…

RFID -Unique cz 2

Tak jak wspominałem w poprzednim poście, w aplikacji do obsługi Maratonu Rowerowego była wymiana czytnika na czytnik firmy Inveo. W tym przypadku połączenie wymagało trochę więcej „zachodu” W pierwszej kolejności należy wybrać port i ustawić jego konfigurację. Zmienna ports jest zmienną globalną klasy SerialPort . Konfigurację wrzuciłem do  ComboBox-a , Więcej…

RFID -unique cz1

W tym artykule opiszę RFID gdyż korzystam z tej technologi w Aplikacji do obsługi Maratonu Rowerowego (Unique) oraz w aplikacji do zapisu i odczytu kart Mifare wikipedia RFID. „RFID (ang. Radio-frequency identification) technika, która wykorzystuje fale radiowe do przesyłania danych oraz zasilania elektronicznego układu (etykieta RFID) w celu identyfikacji obiektu. Więcej…

Pięć Kroków Refaktoryzacji Kodu – Maraton Rowerowy Krok 0

Refaktoryzacja, SOLID, DRY, YAGNI. Reafkatoryzacja, według wikipedi: Refaktoryzacja (czasem też refaktoring, ang. refactoring) – proces wprowadzania zmian w projekcie/programie, w wyniku których zasadniczo nie zmienia się funkcjonalność. Celem refaktoryzacji jest więc nie wytwarzanie nowej funkcjonalności, ale utrzymywanie odpowiedniej, wysokiej jakości organizacji systemu. Po przesłuchaniu  jednego z podcastów na blogu „Ostra Więcej…

Pięć Kroków Refaktoryzacji Kodu – Maraton Rowerowy Krok 5

Krok 5 Kolejnym krokiem  jest usunięcie funkcji filtrów z kontrolera w którym jest metoda getData, najlepiej było by każdemu filtrowi założyć osobną klasę, która dziedziczy po interfejsie.  Zastosować odwrócenie zależności (Dependency Inversion) zamiast wywoływać metodę filtrów z kontrolera, wykorzystać interfejsy i za ich pośrednictwem wywoływać daną metodę. Kolejnym krokiem było Więcej…

Pięć Kroków Refaktoryzacji Kodu – Maraton Rowerowy Krok 4

Krok 4 Z funkcji getData usunąłem większość instrukcji warunkowych, pozostawiłem tylko pierwszą czyli sprawdzanie czy parametry są null.  Każdy warunek otrzymał własną funkcję, dzięki temu zlikwidowałem niepotrzebne warunki, które zaciemniały kod. public List<ExtModelRegistrationList> getData(int? id_grupa, int? id_dys,int? oplata,string nazwisko) { using (var db = new  EntitiesMaraton()) { List<ExtModelRegistrationList> result = _registration.generateListZawodnik(); if (nazwisko == null || oplata == null || Więcej…

Pięć Kroków Refaktoryzacji Kodu – Maraton Rowerowy Krok 3

Krok 3 W tym kroku usunąłem z funkcji getData warunek sprawdzający wartość 0 oraz pusty string, dałem go do osobnej funkcji checkValueFiltersRef , której dodatkowym parametrem jest referencja do listy obiektów klasy ExtModelRegistrationList. Dzięki temu zabiegowi pozbyłem się kilku if-ów. Również zastosowanie referencji pozwoliło na skrócenie kodu funkcji checkValueFiltersRef.   private void  checkValueFiltersRef(int? Więcej…