Zasada odwracania zależności głosi, że moduły wysokopoziomowe nie powinny zależeć od modułów niskopoziomowych. Obie grupy modułów powinny zależeć od abstrakcji. Innymi słowy abstrakcje nie powinny zależeć od szczegółowych rozwiązań, to one (rozwiązania) powinny zależeć od abstrakcji. Użyte w treści reguły pojęcie abstrakcji należy interpretować jako klasę abstrakcyjną lub interfejs. Jak widać pozostaje tutaj swoboda wyboru jednego z tych dwóch bytów...
Architektura 4603 dni, 8 godzin, 31 minut temu 180 źrodło rozwiń
Sprostowanie nieścisłości dotyczącej pojęcia polimorfizmu, która pojawiła się w kursie C# na portalu virtualstudy.pl
Architektura 4608 dni, 3 godziny, 30 minut temu 134 źrodło rozwiń
Od .NET 2.0 dostępna jest klasa SqlBulkCopy, która pozwala na efektywne ładowanie dużych zbiorów danych do bazy SQL Server. Główną zaletą tej klasy jest wydajność operacji kopiowania danych...
Bazy danych i XML 4614 dni, 15 minut temu 199 źrodło rozwiń
Czasami mamy do dyspozycji tylko asynchroniczne wywołanie interesującej nas metody, a chcemy synchronicznie. Kawałeczek kodu, który realizuje to w przejrzysty sposób.
Mobile development 4614 dni, 15 minut temu 137 źrodło rozwiń
W tym wpisie opiszę od A do Z jak zrobić grę kółko krzyżyk w postaci graficznej aplikacji. Użytkownik będzie miał możliwość gry z komputerem na różnych poziomach „inteligencji”. Całość opakujemy w ładne GUI, użytkownik będzie mógł sterować grą za pomocą myszki. Taki program może być dobrym ćwiczeniem dla początkujących koderów – których serdecznie zapraszam do lektury. GUI Na początek wstawię screeny napisanego przeze mnie programu. Ma to wam przybliżyć efekt, do którego będziemy dąż...
Co rozumiem przez tryb offline ? Jest to przejście w taki tryb pracy gdzie wszystkie requesty przekierowane są na pewien landing page może informować np. że jest przeprowadzana aktualizacja, albo aplikacja jest przenoszona na nowy serwer, albo np. trwa aktualizacja serwera baz danych itp.
Komenda preprocesora #if DEBUG i problemy z utrzymaniem (rename).
Architektura 4629 dni, 23 minuty temu 183 źrodło rozwiń
Dziś z pewnych względów ciekawy wpis o tym jak – z deweloperskiego punktu widzenia – najłatwiej i najprzyjemniej tłumaczyć własną zawartość we względnie nowym frameworku jakim jest Orchard Framework. Oczywiście z punktu widzenia programisty. Wpis, dla niezaznajomionych, może być też wstępem dla standardu gettext w środowisku .net
autor: W ramach kontynuacji serii wpisów związanych Managed Add-in Framework (MAF / System.AddIn) ([1], [2], [3], [4]) chciałbym pokazać przykład pokazujący, w jaki sposób MAF rozwiązuje problem z izolacją ładowanych wtyczek, tak by nie pozwolić na uruchomienie niebezpiecznego kodu. Tak jak pisałem wcześniej jedną z zalet MAF-a jest możliwość uruchamiania wtyczek w środowisku izolowanym, teraz przyjrzymy się w jaki sposób można to zrealizować. Podobne doświadczenie (jednak bez wykorzystania MAF) przep...
autor: Niedawno uczestniczyłem w Study Group poświęconej architekturze aplikacji organizowanym przez Łódzką grupę profesjonalistów IT & .NET, gdzie przedstawiałem prezentację p.t. "Rozszerzalne aplikacje w .NET (czyli MAF i MEF)". Tych, którzy chcieliby się zapoznać z prezentacją lub kodem źródłowym, który powstał podczas prezentacji, zapraszam do obejrzenia mojej prezentacji umieszczonej na portalu SlideShare.
Architektura 4659 dni, 21 godzin, 48 minut temu 132 źrodło rozwiń
Ostatnio w moim projekcie pojawił się problem wywoływania konkretnych zadań w określonym czasie wybieranym przez użytkownika. Pierwsze co przyszło mi do głowy to MSMQ, jednak aplikacja asp.net, znajduje sięna hostingu i nie będę mógł tam postawic sobie tego narzędzia :/ Szukałem dalej i w odpowiedziach zaczeła przwijac się nazwa nieznanej mi do tej pory biblioteki - Quartz.Net. To kolejna biblioteka która pojaw...
autor: W ramach kontynuacji serii wpisów związanych Managed Add-in Framework (MAF / System.AddIn) ([1], [2], [3]) chciałbym pokazać przykład pokazujący, w jaki sposób MAF rozwiązuje problem z kompatybilnością wtyczek po zmianie kontraktu. Niniejszy przykład jest pewnego rodzaju kontynuacją przykładu przedstawionego we wpisie pt.: "Przykład prostej aplikacji z obsługą wtyczek z wykorzystaniem Managed Add-in Framework (System.AddIn)", zakłada on sytuację w której istniejący kontrakt ulega zmianie, by umo...
David Crawford, User Experience Consultant w Microsoft opowiada o błędach popełnianych przy projektowaniu aplikacji dla Windows Phone. Polecam, bo to jeden z niewielu filmów o projektowaniu, przy którym nie zaśniecie; rzeczowy i na temat, bez zbędnego lania wody.
Mobile development 4668 dni, 10 godzin, 1 minutę temu 39 źrodło rozwiń
Konwersja koloru “z” oraz “do” Int32 oraz konwersja z zapisu szesnastkowego.
Silverlight 4668 dni, 10 godzin, 1 minutę temu 106 źrodło rozwiń
Uzupełnienie rozszerzenia z części pierwszej dotyczącego nawigacji w Windows Phone.
Mobile development 4666 dni, 4 minuty temu 65 źrodło rozwiń
W dzisiejszej części proste przełączanie widoczności UIElement w Silverlight.
Silverlight 4669 dni, 3 godziny, 23 minuty temu 65 źrodło rozwiń
Na blogu Geert van der Cruijsen pojawiło się ciekawe narzędzie do zmieniania skórek emulatora Windows Phone 7. Polecam każdemu komu znudził się wygląd standardowego emulatora albo potrzebuje ładniejsze zrzuty z aplikacji dla klienta.
Mobile development 4673 dni, 7 godzin, 54 minuty temu 17 źrodło rozwiń
Od kiedy Microsoft wprowadził rozszerzenia (ang. extensions) do platformy .NET jestem ich wielkim fanem. Dlatego raz po raz wrzucę jakiś użyteczne rozszerzenie, które może się okazać przydatne. W dzisiejszej części rozwiązanie bolączki nawigowania do stron w Windows Phone: NavigationService.Navigate(new Uri("/ProductPage.xaml", UriKind.Relative));
Mobile development 4666 dni, 4 minuty temu 207 źrodło rozwiń
autor: W poprzednim wpisie przybliżyłem czytelnikom teorię związaną z MAF-em (patrz: "[MAF 01] Rzut okiem na Managed Aadd-in Framework (System.AddIn)"), w tym wpisie chciałbym przedstawić prosty przykład aplikacji z obsługą wtyczek z wykorzystaniem Managed Aadd-in Framework (System.AddIn). Niniejszy przykład jest bardzo prostą aplikacją, która odnajduje wtyczki, a następnie z nich korzysta. Wszystkie zagadnienia będą maksymalnie uproszczone, mimo wszystko konieczne jest przygotowanie całego pipeline'u k...
autor: Na początek trochę kodu. Zacznijmy od klasy testowej: public class TestClass : MarshalByRefObject { static TestClass() { Console.WriteLine(String.Format("I'm in the static constructor in the domain '{0}'.", AppDomain.CurrentDomain.FriendlyName)); } public void Hello() { Console.WriteLine(String.Format("Hello from the domain '{0}'.", AppDomain.CurrentDomain.FriendlyName)); } } Teraz kod testujący: AppDomain domain = AppDomain.Cr...