Warstwa prezentacji odpowiedzialna jest za komunikację z użytkownikiem. W dzisiejszych czasach interfejsy graficzne są na tyle rozbudowane, że poprawne zaprojektowanie warstwy prezentacji stanowi poważne wyzwanie. W małych projektach często ta warstwa stanowi najbardziej złożoną część całej architektury. Bez wykorzystania stosownych wzorców projektowych po pewnym czasie pisania aplikacji okaże się, że jakakolwiek zmiana interfejsu wiąże się ze skomplikowaną refaktoryzacją kodu. Jedną z podstawowych cec...
Architektura 3961 dni, 16 godzin, 49 minut temu 104 źrodło rozwiń
O wersji v2 NDependa pisałem we wcześniejszym poście, jednak na sporo więcej uwagi zasługuje najnowsza, trzecia wersja tego narzędzia.Co nowego w NDepend? Największą i dla mnie osobiście najbardziej przydatną nową funkcjonalnością jest pełna integracja z Visual Studio 2008/2010 IDE. Jeszcze nigdy używanie NDependa nie było tak naturalne w procesie tworzenia oprogramowania. Integracja wprowadza zupełnie nowy sposób pracy z kodem, gdyż do tej pory (przynajmniej w moim przypadku), statyczna analiza kodu prz...
W minioną sobotę miałem przyjemność uczestniczyć w krakowskiej edycji Visual Studio Community Launch [...] Przykłady kodu dla obu prezentacji umieściłem na MSDN Code Gallery odpowiednio tutaj i tutaj. Zapewne duża część z Was nie była na konferencji, dlatego postanowiłem owe przykłady omówić tutaj, na blogu. Dziś – EF4.
Bazy danych i XML 3963 dni, 7 godzin, 50 minut temu 308 źrodło rozwiń
Zapraszamy wszystkich chętnych na siódme spotkanie grupy Warsaw Silverlight Study Group (WSSG). Spotkanie rozpocznie się 8 czerwca (wtorek), o godzinie 18:00 w siedzibie firmy Microsoft w Warszawie (al. Jerozolimskie 195A - zobacz na mapie). Agenda spotkania: 18:00 – 19:20 Grzegorz Wiśniewski: „Wstęp do tworzenia własnych kontrolek w WPF i Silverlight”; 19:20 – 19:40 Przerwa; 19:40 – 21:00 Michał Korzunowicz: „MVVM – Gdzie? Co? I jak? Na podstawie prostej gry typu shooter ”;
Silverlight 3964 dni, 4 godziny, 5 minut temu 55 źrodło rozwiń
Oryginalny post: Bridges, Software Engineering, and GodAutor: Jeff Atwood Bazując na tym, ile razy spotkałem się z tym porównaniem podczas mojej kariery, mogłoby się wydawać, iż budowanie mostów oraz tworzenie oprogramowania są ze sobą w jakiś sposób powiązane: [..] mój ojciec, który jest "prawdziwym" inżynierem, przyjechał do mnie z wizytą na parę dni. Rozmawialiśmy dziś wieczorem o istocie prawdziwej inżynierii i staraliśmy się zrozumieć czy tworzenie oprogramowania zbliża się do takiego poziomu d...
Zapytanie z opcją FOR XML generujące obiekt XML i metoda nodes() zastosowana do niego mogą stanowić wzajemnie odwrotne transformacje. Zobaczmy to na przykładzie.
Bazy danych i XML 3965 dni, 4 godziny, 5 minut temu 55 źrodło rozwiń
Zaczynamy standardowo od czystej definicji zasady:Kod z warstw z wyższego poziomu nie powinien zależeć od kodu z niższych warstw. Obie warstwy za to powinny być zależne od abstrakcji.Abstrakcje nie powinny zależeć od szczegółów (konkretnej implementacji). Z kolei szczegóły (implementacja) powinna zależeć od abstrakcji. Najlepiej rozważmy to na przykładzie aplikacji enterprise. Kodem z niższej warstwy może być np. DAL (warstwa dostępu do danych) a z wyższej – warstwa biznesowa. Według zasady, warstwa bi...
Architektura 3965 dni, 7 godzin, 15 minut temu 77 źrodło rozwiń
Zastanawialiście się kiedyś, czy możliwe jest wykorzystanie potencjału platformy .NET w języku skryptowym? Jeśli tak, ten wpis jest specjalnie dla Was. W skrócie przedstawiam możliwości wykorzystania platformy .NET w super powłoce, czyli PowerShellu.
Przeczytałem niedawno artykuł Bartka Szafko pod tytułem: „Integracja systemów”, ponieważ w firmie w której pracuję (CAS), często mamy do czynienia z integracją systemów, dlatego postanowiłem dorzucić do tego tematu swoje trzy grosze.
Maciej na swoim blogu napisał bardzo wyczerpujący komentarz do mojego poprzedniego wpisu. Bardzo mnie cieszy, że jest okazja podyskutować i powymieniać się doświadczeniami!
SharePoint 2010 jak można się na razie przekonać jest dużo bardziej dojrzałym produktem od poprzednich wersji. Wprowadzenie wielu nowych funkcji spowodowało, że ta platforma stała się bardziej potężna niż była do tej pory. Jedną z funkcji dostępnych już od .NET 3.0, a nie implementowanych do tej pory w SharePoint jest LINQ. Co to może nowego wnieść do sposobu pisania rozwiązań pod tę platformę, można się przekonać czytając ten post. Jest to pierwszy z dwóch postów opisujących tę technologię. W pierwszym ...
Autor: W ostatnią sobotę miałem przyjemność wygłosić sesję na Visual Studio 2010 Community Launch w Krakowie zatytułowaną "Programy równoległe są dla każdego". Dla zainteresowanych poniżej zamieszczam swoje materiały.Prezentacja Przykłady
Programowanie rozproszone 3967 dni, 9 godzin, 51 minut temu 95 źrodło rozwiń
Zasada mówi żeby tworzone przez programistę interfejsy były odpowiedzialne za jak najmniejsza funkcjonalność. Użytkownik chcąc zaimplementować taki interfejs nie powinien pisać metod, których nie potrzebuje. Jeśli znajdują się w nim niepotrzebne metody to wtedy nazywamy go interfejsem “fat” lub “polluted”. Najlepiej rozważyć to na klasycznym przykładzie (z oodesign):interface IWorker { void Work(); void Eat(); } class Worker: IWorker { publicvoid Work() { } publicvoid ...
Architektura 3967 dni, 21 godzin, 4 minuty temu 93 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Ci z Was, którzy obsługiwali już wątki w .NET wiedzą, że nie jest to specjalnie skomplikowane. Najczęściej problemy występują przy obsłudze kontrolek Windows Forms, ponieważ ich właściwości mogą być zmieniane tylko w wątku, który je stworzył. Innym problemem jest wykorzystywanie lokalnej pamięci wątków do przechowywania informacji o kontekście, gdy proces nieoczekiwanie zmienia wątki, te dane mogą zniknąć. Z te...
Programowanie rozproszone 3967 dni, 21 godzin, 4 minuty temu 71 źrodło rozwiń
Zamieszczam materiały z Visual Studio 2010 Community Launch. VSCL 2010: Windows Phone 7 - intro VSCL 2010: Silverlight for Windows Phone 7 - hello world VSCL 2010: Silverlight for Windows Phone 7 - sample application
Silverlight 3969 dni, 7 godzin, 3 minuty temu 60 źrodło rozwiń
Autor: Praktycznie od początku mojej zawodowej kariery spotykałem się koniecznością integracji bardzo różnych systemów różnych firm. To czym do tej pory się zajmowałem to integracja:internetowego systemu do zarządzania szkoleniami z oprogramowaniem kadrowo-płacowym crm z oprogramowaniem finansowo-księgowym terminali w hali produkcyjnej z oprogramowaniem do zarządzania produkcją integracja sklepów internetowych z oprogramowaniem do sprzedaży (bardzo różnych firm i różnyc...
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Współbieżność (ang. concurrency) w serwisie WCF występuje, kiedy jednocześnie więcej niż jedno wywołanie ma miejsce. Celem serwisu WCF jest przetwarzanie przychodzących żądań. Kiedy żądanie przychodzi do serwisu, serwis rozdziela (ang. dispatch) komunikaty na własne wątki, które brane są z puli wątków. Z każdym żądaniem powiązany jest obiekt serwisu – instancja klasy, która implementuje interfejs serwisu. W WCF...
Programowanie rozproszone 3969 dni, 7 godzin, 3 minuty temu 73 źrodło rozwiń
Jak pozbyć się wyjątku Common Language Runtime detected an invalid program. przy emitowaniu assembly
Od czasu do czasu dostaję dziwne pytania odnośnie różnych spraw związanych z ogólnie pojętą informatyką. Jeśli umiem odpowiedzieć na pytanie, to staram się odpowiedzieć, czasami jednak nie... Co wtedy? Po pierwsze starajmy się sformułować pytanie lub lepiej wyróżnijmy w nim pewne „słowa kluczowe” i zapytajmy Pana Google, bardzo prawdopodobne, że ktoś inny już miał podobny problem i znalazł rozwiązanie. Czasem jednak trudno to pytanie sformułować lub może inaczej: „trudno wybrać te słowa kluczowe, które...
Na początek podam czystą definicje z wiki: “Funkcje które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów.” Początkowo za wiele ta tajemnicza definicja nie mówiła mi. Innymi słowy, klasa dziedzicząca powinna rozszerzać możliwości klasy bazowej a nie całkowicie zmieniać jej funkcjonalność. Sposób korzystania z klasy potomnej powinien być analogiczny do wywoływania klasy bazowej...
Architektura 3972 dni, 19 godzin, 45 minut temu 100 źrodło rozwiń