Wykorzystywanie atrybutów w C#, jest często marginalizowane, a nawet wręcz pomijane przez programistów tego języka. Jak pokazuje życie, mogą one być całkiem przydatne np. w serializacji obiektów do XMLa. Mogą one się przydać, również w naszych własnych programach. Użycie atrybutów, może spowodować, że napisany przez nas kod będzie bardziej elastyczny i skalowalny, a chyba to się liczy, prawda;)? W dzisiejszym wpisie, chciałbym zatem Wam pokazać, jak w banalny sposób można utworzyć własną klasę atrybutu ...
Architektura 3495 dni, 6 godzin, 3 minuty temu 322 źrodło rozwiń
Prezentacja jest już dostępna na Vimeo. Miejscami kod przykładów może być mało czytelny ale przyjrzeć im się można z bliska na Prezi. //========================================= Przy okazji chciałbym podziękować wszystkim, którzy wyrazili swe opinie w ankiecie konferencyjnej. Jest to dla mnie najcenniejsze źródło informacji. Z 22 opinii tekstowych, 20 z nich odbieram jako bardzo ciepłe i przyjazne. Wasze słowa są na prawdę motywacją do tego aby następnym razem poświęcić jeszcze więcej czasu (po ob...
Architektura 3502 dni, 13 godzin, 39 minut temu 110 źrodło rozwiń
Jeden z czynników, który warunkuje dobrego programistę, to umiejętność tworzenia elastycznego i niepowtarzalnego kodu. Jeśli jakiś element naszego kodu jest powtarzalny, bądź schematyczny, to z pewnością warto się zastanowić nad napisaniem metody, która zawrze ten kod i będzie mogła być wykorzystana wielokrotnie. Napisana przez nas aplikacja stanie się bardziej przejrzysta i z pewnością zmaleje również ryzyko popełnienia błędu, a wszelkie zmiany będzie można wykonać w jednym miejscu. Podobnie sprawa wyg...
Architektura 3516 dni, 9 godzin, 33 minuty temu 297 źrodło rozwiń
Na studiach wpaja się nam zasady programowania obiektowego. Niestety, bardzo często osoby wpajające tą wiedzę mają zerowe doświadczenie w praktycznym jej wykorzystaniu. Mówią coś, bo to samo im kiedyś powiedziano, i tak dalej i tak dalej. Jedną z nieodłącznych cech obiektowości jest oczywiście dziedziczenie.
Architektura 3531 dni, 12 godzin, 29 minut temu 219 źrodło rozwiń
Witajcie w trzeciej części tutoriala do WPF. W dwóch poprzednich wpisach (WPF Tutorial - wprowadzenie oraz WPF Tutorial - obsługa kontrolek), powiedzieliśmy sobie m.in o: WPFie ogółem Języku znaczników XAML Podstawowych właściwościach WPF Kontrolkach Ponieważ wiemy już całkiem sporo, to czas dowiedzieć się, czy z tych informacji można zrobić jakiś sensowny użytek, np. budując prosty, tytułowy kalkulator:) Jeśli zatem chcecie wykorzystać zgromadzoną dotychczas wiedzę, do zbudowania czegoś praktycznego...
Architektura 3551 dni, 12 godzin, 38 minut temu 339 źrodło rozwiń
Tak mnie wzięło na wzorce projektowe ostatnimi czasy, dzisiaj coś o o odwiedzającym (wizytatorze). Polska Wikipedia mówi o nim tak odwiedzający.
Architektura 3557 dni, 10 godzin, 10 minut temu 268 źrodło rozwiń
Swojego czasu Ayende na blogu opisał dwa interfejsy, który umożliwiają w NH zrobienie prostego audytu. Interfejsy (IPreUpdateEventListener i IPreInsertEventListener) umożliwiają wstrzyknięcie pewnej operacji tuż przed wstawieniem jak i aktualizacją obiektu – idealne miejsce dla wstawienia daty aktualizacji i modyfikacji.
Architektura 3558 dni, 1 godzinę, 28 minut temu 111 źrodło rozwiń
Zapraszam: http://msdn.microsoft.com/pl-pl/library/windows-azure-appfabric–autoryzacja-dostepu-do-operacji-wcf-za-pomoca-tokenow-swt
Architektura 3607 dni, 12 godzin, 36 minut temu 27 źrodło rozwiń
W aplikacji którą piszemy musimy zapisywać dane wprowadzone przez użytkownika na formularzu do bazy. Dane można podzielić na ogólne statyczne (adres, opis, itp.) i szczegółowe dynamiczne (lista monitorowanych parametrów i ich wyniki z możliwością dodawania/usuwania/modyfikowania każdego z parametrów wraz z wynikami ze wszystkim dostępnych list). To co biznes interesuje to jedynie dane ogólne zaś dane dynamiczne mogą ulegać notorycznym zmianom, ich śledzenie jest zbędne. Dlatego też by nie męczyć się z m...
Architektura 3627 dni, 12 godzin, 13 minut temu 156 źrodło rozwiń
Post dotyczy języka C#, nie wypowiadam się na temat innych języków gdyż nie wiem jak operator i instrukcja warunkowa są w nich zaimplementowane. Bardzo często spotykam się ze stwierdzeniem, że operator warunkowy (?:) jest równoważny instrukcji warunkowej (if). Info. Nie wiem czemu statement to instrukcja, a expression to wyrażenie. Jakoś mi nie pasuje to tłumaczenie ale będę się jego tutaj trzymał. Jak ktoś tłumaczy ?: to często daje prosty przykład IF i ?: pisząc, że to to samo. Prowadzi do przykładó...
Architektura 3627 dni, 14 godzin, 12 minut temu 145 źrodło rozwiń
Od pewnego czasu zamiast stosowania mapowań za pomocą plików XML zacząłem używać FluentNHibernate. Mimo początkowego sceptycznego podejścia przełamałem się, a dobitnie nastąpiło to wtedy, kiedy zacząłem używać konwencji. Jedną z fajniejszych, która odrazu spowodowała pozytywne nastawienie do FNH jest konwencja IIdConvention. Pozwala na zautomatyzowanie mapowania klucza głównego. Dlaczego? Od zawsze stosuję klucze pojedyncze oparte na typie int lub long, gdzie wartość jest wyliczana algorytmem hilo. Otóż ...
Architektura 3640 dni, 3 godziny, 5 minut temu 111 źrodło rozwiń
Dziś trochę czystej teorii dla tych, którzy potrzebują wywoływać komponenty COM. W Internecie znajduje się wiele artykułów o różnicach między STA a MTA. Większość jednak opisuje je dosyć szczegółowo uwzględniając wiele aspektów technicznych i przez to nie zawsze może być to zrozumiałe. Podstawy jednak są bardzo proste i w poście skupie się wyłącznie na nich – szczegóły z pewnością znajdziecie na MSDN. Przede wszystkim STA, MTA mają znaczenie wyłącznie gdy korzystamy z obiektów COM. To pozostałość po dawn...
Architektura 3644 dni, 8 godzin, 29 minut temu 79 źrodło rozwiń
Niedawno przedstawiłem TokenContext, klasę pomocniczą upraszczającą wyławianie kontekstu z masy logów tworzonych w aplikacji wielowątkowej, gdzie wiele operacji przeplata się nawzajem. Regularnie jednak zdarza się, że interesuje nas nie tyle jedna szczególna operacje co cały cykl życia konkretnego obiektu. Kumpel, z którym pracuję nad "głównym" projektem, zaproponował stosowanie takiej, bardzo prostej, logicznej i przydatnej, konwencji...
Architektura 3646 dni, 23 godziny, 39 minut temu 84 źrodło rozwiń
Wpadłem w pułapkę relacji wiele do wielu, m:n. Po raz kolejny. Jak fretka w sidła... te same po raz n-ty (czy m-ty?). Byłem na siebie tak wściekły, że to ludzkie pojęcie przechodzi. Właściwie bardziej mi teraz szkoda nerwów niż straconego czasu. Ale o co się, panie, rozchodzi? W moim systemie miałem bardzo prostą zależność: Company (n) - (m) Customer. Firma posiada wielu klientów, a klient przypisany jest do wielu firm. Bez dodatkowych ceregieli utworzyłem:
Architektura 3652 dni, 22 godziny, 58 minut temu 321 źrodło rozwiń
Zwykle zapisując do logów jakąś informację dobrze jest zachować pewne powiązanie pomiędzy następującymi po sobie czynnościami. Dobrym przykładem takiej sytuacji jest np. wywoływanie ApplicationEvent, wysyłanie maila, czy właściwie jakikolwiek proces składający się z więcej niż 1 kroku. Po co? A no po to, aby potem w pliku z logami móc wyfiltrować tylko te informacje które nas faktycznie interesują. Szczególnie w środowisku wielowątkowym (czyli właściwie... zawsze?) bez tego ciężko jest dojść OCB
Architektura 3668 dni, 10 godzin, 45 minut temu 112 źrodło rozwiń
Budując architekturę wielowarstwową, wyraźnie oddzielając logikę biznesową od warstwy prezentacji podstawowym problemem jest wielokrotne powtarzanie kodu związanego z operacjami create, read, update i delete czyli dodawania, pobierania, aktualizacji i usuwania obiektów z bazy danych. Jak wykonać generyczny CRUD w Business Logic Toolkit?
Architektura 3721 dni, 1 godzinę, 56 minut temu 127 źrodło rozwiń
Załóżmy, że mamy metodę generyczną:privatevoid AddItem
Architektura 3736 dni, 20 godzin, 26 minut temu 81 źrodło rozwiń
Programując w C# często natrafiamy na klasy implementujące interfejs IDisposable, często też o tym nie wiedząc (nasza wina) lub nie mając o tym świadomości (kto stworzył taką bibliotekę?) – wystarczy popatrzeć na API od SharePointa i prawie od razu możemy natrafić na takie piękne kruczki, utworzenie obiektu listy powoduje przypisanie do niej obiektu witryny itp. itd. tego jest sporo. Może dlatego też większość z nas z rzadka korzysta z IDisposable a jak już korzysta to w celu pozbycia się zasobów. Jedna...
Architektura 3743 dni, 47 minut temu 86 źrodło rozwiń
Dzisiejsza historia oparta jest, w większości, na faktach. Ukryliśmy tylko imię naszego programisty. Był sobie Tomek programista. Tomek miał do napisania w C# fragment większego algorytmu. Jako, że kod był dobrze podzielony mogło to zrobić wiele osób. Jedną z rzeczy które miały być w tym fragmencie było stw...
Architektura 3745 dni, 9 godzin temu 117 źrodło rozwiń
Na prezentacji pokazałem sposób tworzenia aplikacji WPF z wykorzystaniem Visual Studio, Blend i wzorca projektowego MVVM. Kod i slajdy będą na SkyDrive grupy. Dzisiaj chcę wam pokazać jak można wykonać podobną aplikacje która może nam posłużyć do „wymyślania” haseł na konta ;p To do dzieła.1 Tworzymy nowy projekt.Nowy projekt utworzymy z wykorzystaniem Blenda. Jeżeli ktoś nie ma Blenda może śmiało to samo wykonać w Visual Studio. Uruchamiamy Blenda po czym w okienku które nam wyskoczyło naciskamy New Pr...
Architektura 3754 dni, 15 godzin, 51 minut temu 258 źrodło rozwiń