W poprzednich częściach przeszliśmy przez zasady SOLID. S – Single Responsibility Principle (oraz cz. 2) O – Open Close Principle (oraz cz. 2) L – Liskov Substitution Principle I – Inversion Segregation Principle D – Dependency Inversion Principle Słowo SOLID bardzo dobrze odzwierciedla to, do czego te zasady prowadzą czyli do budowania solidnego kodu. Przez solidny kod rozumiem taki, który jest łatwy w modyfikacji i który szybko można dostosować do zmieniających się wymagań. Nie są to jednak wszy...
Architektura 4639 dni, 11 godzin, 23 minuty temu 116 źrodło rozwiń
Wyobraźmy sobie taką sytuację: jest sklep internetowy, podczas składania zamówienia system wylicza rabat – przy zamówieniach 500-1000 zł 5%, powyżej 1000 zł 10%, powyżej 5000 dodatkowo darmowa przesyłka. Brzmi znajomo?
Architektura 4639 dni, 11 godzin, 23 minuty temu 258 źrodło rozwiń
Ostatnio trafiłem na nową aplikację od JetBrains (producenta ReSharper’a) o nazwie dotPeek. Czym, że ona jest ? W skrócie można powiedzieć, że jest to DARMOWY dekompilator dla języka .NET, wspierający pliki .dll, .exe, zip, .vsix., .nupkg, oraz .winmd. ...
W .NET 4.0 wprowadzoną klasę Tuple służącą do owijania kilku wartości w jeden obiekt. Tuple to nic innego jak obiekt zawierający w sobie jakieś dane w postaci właściwości. Do dyspozycji jest 8 statycznych metod służących do stworzenia Tuple:Create(T1)Create(T1,T2)Create(T1,T2,T3)Create(T1,T2,T3,T4)Create(T1,T2,T3,T4,T5)Create(T1,T2,T3,T4,T5,T6)Create(T1,T2,T3,T4,T5,T6,T7)Create(T1,T2,T3,T4,T5,T6,T7,T8) Ponadto istnieje możliwość stworzenia tuple za pomocą jednego z konstruktorów:Tuple
Udało mi się dziś skończyć tutorial dla uczestników cyklu spoktań “Wiosna w Chmurach” (opiszę niedługo o co chodzi ). Tutorial pokrywa podstawy z pisania aplikacji na Windows Azure. Przez 1h próbowałem bezskutecznie ‘przekleić’ dokument worda do wordpress’a – za każdym razem jakieś dzikie problemy występowały z formatowaniem, szczególnie z kodem. Dlatego zamiast umieszczać cały tutorial TUTAJ - wrzuciłem go na skydrive’a – wszyscy zainteresowani mogą go pobrać Jeśli...
Osobiście za największą bolączkę developingu na platformę WindowsPhone 7 (oraz ogólnie wytwarzania aplikacji) uważam elementy związane z grafiką. Grafik ze mnie marny, a na pewno w rozsądnym czasie czegoś fajnego nie skrobnę w paincie. Dlatego chcę polecić teraz całkiem fajne narzędzie, różne od spakowanych ikonek – Syncfusion Metro Studio. Ta bardzo estetycznie wykonan aplikacji umożliwia wybranie ikonki i zapisanie jej w wybranym formacie...
Postanowiłem poruszyć kwestię zasady oddzielania poleceń od zapytań. Pisał o niej ostatnio Piotr Zieliński. Cóż to takiego te „polecenia” i „zapytania”? Ujmując to zagadnienie bardzo ogólnie można powiedzieć, że cechy charakteryzujące klasę dzielą się na polecenia i zapytania. Pierwsze z nich służą do modyfikowania obiektu, drugie do uzyskiwania o nim informacji...
Architektura 4639 dni, 11 godzin, 23 minuty temu 124 źrodło rozwiń
Jedną z nowości w SQL Server 2012 jest polecenie THROW służące do wywoływania wyjątków. Działa ono podobnie do znanej wcześniej funkcji RAISERROR. Zgodnie z MSDN w najnowszej wersji języka T-SQL zalecane jest stosowanie THROW zamiast RAISERROR. Omawiane polecenie ma dwa zastosowania...
Bazy danych i XML 4640 dni, 5 godzin, 32 minuty temu 297 źrodło rozwiń
Niestety z jakiegoś powodu nie chcemy tego teraz sprawdzać, zastawiać się i co najważniejsze testować. Przydaje się wtedy w takim miejscu dodanie informacji, która przypomni nam następnym razem o potrzebnej zmianie.
Search Witam dziś zamierzam Wam przedstawić funkcję szukania która została zaimplementowana przez Microsoft w metro. Opcja ta jest dostępna dla każdej aplikacji metro i pan Microsoft zaleca aby korzystać właśnie z tego wyszukiwania niż pisać własne. Jak by nie patrzeć ma kilka ciekawych możliwości to szukanie w metro. Między innymi możemy przeszukiwać zawartość aplikacji gdy jest wyłączona. Możemy dodać również mechanizm podpowiedzi w momencie pisania szukanej frazy. Ok to przejdźmy do kodu.Najpi...
Kontrolek firmy Telerik używam od bardzo dawna. W szczególności bardzo sobie chwalę używanie kontrolek RadControls for ASP.NET AJAX. Ostatnio zacząłem pisać moduły w Silverlight i naturalne było dla mnie użycie również kontrolek od Telerika. Natknąłem się jednak na duży problem dotyczący ładowania strony.
Silverlight 4641 dni, 4 godziny, 53 minuty temu 161 źrodło rozwiń
JetBrains udostępnił ReSharpera w wersji 7 dla Visual Studio 2010 ...
Dziś znów powrót do podstaw inżynierii oprogramowania. Przedstawianie podstawowej zasady może wydawać się śmieszne ale mimo wszystko programista dobrze jak wie, że taka zasada ma swoją nazwę i naprawdę powinno się tego przestrzegać. Za pewne wiele programistów nie zna nazw tych reguł ale i tak postępuje zgodnie z nimi. Post ma jednak uświadomić, że takie praktyki są dobrze udokumentowane i są na naprawdę dobrym zwyczajem a nie tylko intuicją doświadczonego programisty. Wzorzec dotyczy konstrukcji metod...
Architektura 4642 dni, 12 godzin, 14 minut temu 317 źrodło rozwiń
Posted by slanto on Zastosowanie wzorca Decorator na przykładzie produktu i ofert specjalnych. Wzorzec ten pozwala nam na dynamiczną zmianę/rozszerzanie zachowania istniejących klas.
Architektura 4643 dni, 12 godzin, 18 minut temu 290 źrodło rozwiń
Często spotykanym wyzwaniem przy budowie systemów rozproszonych jest przesyłanie plików o znacznych rozmiarach. Tego typu rozwiązanie w łatwy sposób można zaimplementować w technologii WCF, która pozwala na tworzenie wszechstronnych i wydajnych usług sieciowych. Na przykładowym serwisie WCF pokażę w jaki sposób radzić sobie z wysyłaniem i odbieraniem dużych plików pomiędzy klientem a usługą.
Programowanie rozproszone 4645 dni, 11 godzin, 15 minut temu 412 źrodło rozwiń
Dzisiejszy wpis będzie poświęcony opisowi programu z zajęć „baza hoteli”. Co prawda z bazą ma on nie wiele wspólnego, bardziej miał nam przybliżyć ideologię tworzenia aplikacji z więcej niż jednym okienkiem. Specyfikacja Napisz program służący do przechowywania danych o różnych hotelach. Program miał się składać z dwóch okienek. Pierwsze służące do prezentacji danych z możliwością usuwania. Drugie okienko – dodawanie/edycja danych. Do zaprojektowania okienka i nad innymi elementami musieliśm...
When working with multi threaded applications, we tend to spawn worker threads which can lead to ineffective code when not done correctly, for example threads will not get reused and will be recreated for each work items. The solution to all those problems is a ThreadPool which reuses threads and queues work items that are consumed by those threads. This sort of implementation while simple can have side effects as unless the pool Queue is immutable it will have to be locked each time an item Enqueued and...
W dzisiejszym poście o dwóch nowościach. Pierwsza z nich to ulepszona kompatybilność. W VS 11 można otwierać solucje utworzone w Visual Studio 2010 bez znanego “Upgrade”. Oznacza to, że można jednocześnie na tym samym projekcie pracować zarówno w VS 11 jak i VS 2010. Projekt otworzony w VS 11 nie powoduje zmiany formatu i później wciąż może być otwierany w VS 2010. Moim zdaniem znaczącą ułatwia to migrację. Niestety projekt utworzony od nowa w VS 11 nie może być już otwarty w 2010 ale wydaje się to natu...
W ostatnim poście o nowościach w VS 11 pisałem o szarych ikonach, co w większości osobom nie przypadło do gustu. Z tego co obserwuję, zdecydowana większość jest rozczarowana nowymi ikonami. Dzisiaj jednak chciałbym zaprezentować praktyczniejszą funkcję – nowy QuickLaunch. Na początek PrintScren: Chodzi mi oczywiście o QuickLaunch znajdujący się w prawym górnym rogu. Wpisując jakiś tekst, zostanie przeszukanych kilka typów informacji jak:Otwarte dokumenty (przeszukuje po ich nazwie).Item’y w menu – bar...
Piotr Zieliński na swoim blogu rozważał zasadność redefiniowania przez klasy dziedziczące metod z klas dziedziczonych (przy pomocy modyfikatora new), warto zapoznać się z tym wpisem przed kontynuowaniem lektury niniejszego tekstu. Na zakończenie Piotr poprosił o podanie innych, od przestawionych przez niego, powodów, na zasadność użycia modyfikatora new. Oto jeden z nich...
Architektura 4646 dni, 8 godzin, 28 minut temu 160 źrodło rozwiń