Pierwszy raz na dotnetomaniaku? Przeczytaj nasz FAQ lub zadaj nam pytanie.

dotnetomaniak.pl - Najnowsze artykuły o .NET w dziale Architektura
2
.netomaniaki

Maciej Aniserowicz | LambdaEqualityComparer nowe okno

opublikowano 3 godziny temu | wysłane przez gordon_shumwaygordon_shumway 1 dzień, 7 godzin, 4 minuty temu
29 lipca 2010 10:26:22 GMT 28 lipca 2010 06:21:44 GMT
Szkoda, że w C# nie ma znanych z Javy anonimowych klas. Nie mylić z anonimowymi typami, które nie pozwalają na implementację metod! W internecie jest wiele skarg i próśb próbujących wymusić na Microsofcie dodania tego, jakże wygodnego, ficzera do naszego języka... (więcej)
kategoria: Architektura | kliknięć: 64 | skomentuj | | źródło: www.maciejaniserowicz.com
tagi: lambda expressions
3
.netomaniaki

Dependency Injection na trzy sposoby | dotnethelp.pl nowe okno

opublikowano 3 godziny temu | wysłane przez okrycyuszokrycyusz 3 dni, 18 godzin, 33 minuty temu
29 lipca 2010 10:26:22 GMT 25 lipca 2010 18:53:00 GMT
Chcąc dostosować swój kod do wymagań korporacyjnych oraz w celu samodoskonalenia umiejętności zacząłem niedawno stosować między innymi ten wzorzec. Jego zastosowanie może wydawać się oczywiste, ale jego znaczenie jest ogromne, jeżeli budowany kod ma nosić cechy modułowości i skalowalności. Wzorzec Dependency Injection (DI) stosuje się zazwyczaj z innym bardzo ważnym wzorcem jakim jest Inversion of Control (IoC) ale o tym przy okazji. Najprościej rzecz ujmując DI to dostarczenie zależności pomiędzy klasa...... (więcej)
kategoria: Architektura | kliknięć: 103 | skomentuj | | źródło: dotnethelp.pl
2
.netomaniaki

Generyczna klasa zbioru | czoper.devlog nowe okno

opublikowano 3 godziny temu | wysłane przez pczatrowskipczatrowski 6 dni, 3 godziny, 32 minuty temu
29 lipca 2010 10:26:22 GMT 23 lipca 2010 09:53:56 GMT
Generyczna klasa zbioru W projekcie, nad którym pracuję potrzebowałem przyzwoicie działającej klasy reprezentującej zbiór. Zbiór nie do końca w sensie teoriomnogościowym (o właściwościach takiego można przeczytać np. tu), posiadający jedną bardzo ważną cechę: przechowywanie unikalnych elementów. Istniejące implementacje (Hashtable oraz HashSet) nie spełniały moich oczekiwań – elementów do wstawiania było na tyle dużo, że występowały kolizje z obliczonej przez GetHashCode() wartości. Ponieważ rozwiązanie...... (więcej)
kategoria: Architektura | kliknięć: 62 | skomentuj | | źródło: przemyslawczatrowski.com
tagi: struktury danych, zbiór
1
.netomaniak

Wtyczki do programów w .NET nowe okno

opublikowano 1 dzień, 2 godziny, 47 minut temu | wysłane przez mackomacko 10 dni, 17 godzin, 32 minuty temu
28 lipca 2010 10:38:49 GMT 18 lipca 2010 19:53:59 GMT
Rozszerzalność od dawna jest w modzie: praktycznie żadna poważniejsza aplikacja nie obywa się bez jakiegoś systemu pluginów, czyli "wtyczek" zwiększających jej funkcjonalność. Niektóre robią to przy okazji (acz ze słusznych powodów), inne czynią z elastyczności i rozszerzalności swój główny oręż (patrz np. uniwersalne komunikatory w typie Mirandy). Wszystko to kojarzy się trochę linuksiarsko, ... (więcej)
kategoria: Architektura | kliknięć: 152 | skomentuj | | źródło: xion.org.pl
tagi: plug-ins
3
.netomaniaki

Tworzenie obiektów poprzez Fluent Interface - dla każdego nowe okno

opublikowano 3 dni, 4 godziny, 4 minuty temu | wysłane przez mackomacko 12 dni, 20 godzin, 56 minut temu
26 lipca 2010 09:21:53 GMT 16 lipca 2010 16:30:03 GMT
O Fluent Interface ("płynnym interfejsie"?:) ) jest od jakiegoś czasu dość głośno w światku .NET. Stał się... trendy. Implementują go właściwie wszystkie kontenery IoC, można za jego pomocą skonfigurować NHibernate, coraz więcej innych projektów udostępnia swoje API w ten sposób. Ale dlaczego, czy jest to naprawdę tak fajne? Moim zdaniem: TAK. Fluent Interface jest nawet czymś więcej niż "fajnym bajerem" - pozwala naprawdę bardzo uprościć pracę z naszą biblioteką. (więcej)
kategoria: Architektura | kliknięć: 130 | skomentuj | | źródło: www.maciejaniserowicz.com
tagi: Fluent Interface, loc
3
.netomaniaki

Domain Driven Design, czyli programowanie przez modelowanie « Notki Po Polsku « Simon says… architecture! nowe okno

opublikowano 22 dni, 2 godziny, 5 minut temu | wysłane przez gordon_shumwaygordon_shumway 31 dni, 8 godzin, 1 minutę temu
7 lipca 2010 11:21:23 GMT 28 czerwca 2010 05:25:11 GMT
Podczas 58. spotkania Krakowskiej Grupy Developerów .NET miałem przyjemność poprowadzić prezentację pt. “Domain Driven Design, czyli programowanie przez modelowanie”. Ponieważ zakładam, że nie wszyscy jesteście z Krakowa i uczestniczyliście w spotkaniu, pozwolę sobie opisać o czym mówiłem. Prezentację możecie obejrzeć lub ściągnąć (format pptx) stąd (via SlideShare), a przykłady w kodzie stąd.Rozwiązywanie problemów Na... (więcej)
kategoria: Architektura | kliknięć: 130 | skomentuj | | źródło: simon-says-architecture.com
tagi: DDD
2
.netomaniaki

Piotr Zieliński » Blog Archive » Model-View-Controller – ASP .NET MVC, wprowadzenie nowe okno

opublikowano 41 dni, 14 godzin, 9 minut temu | wysłane przez pzielinskipzielinski 50 dni, 23 godziny, 10 minut temu
17 czerwca 2010 23:16:40 GMT 8 czerwca 2010 14:16:00 GMT
ASP .NET MVC jest frameworkiem wspierającym wzorzec projektowy MVC. Należy zdawać sobie sprawę, że przechodząc z klasycznego ASP .NET na ASP .NET MVC tracimy możliwość korzystania ze zbioru kontrolek typu ListView, Repeater itp. Na początku może wydawać się to bardzo ograniczające jednak w praktyce czas wymagany na stworzenie aplikacji webowej jest niewiele dłuższy a za to zyskujemy znacznie większą elastyczność. Ponadto ze względu na brak standardowych kontrolek nie ma bałaganu z ViewState. Uogólniając, in... (więcej)
kategoria: Architektura | kliknięć: 52 | skomentuj | | źródło: www.pzielinski.com
2
.netomaniaki

Piotr Zieliński » Blog Archive » Wzorzec Model-View-Controller nowe okno

opublikowano 49 dni, 13 minut temu | wysłane przez pzielinskipzielinski 56 dni, 22 godziny, 59 minut temu
10 czerwca 2010 13:13:01 GMT 2 czerwca 2010 14:27:03 GMT
W MVC wyróżniamy 3 główne typy klas: model, widok oraz kontroler. Model stanowi bramkę dostępową do warstwy biznesowej. Przetrzymuje informacje o aktualnym stanie interfejsu. W pewnych przypadkach model może stanowić bezpośrednio klasę z warstwy biznesowej (np. dla wzorca skrypt transakcji jest to możliwe). Zwykle jednak tworzy się osobne modele (albo wrappery) dla warstwy prezentacji. Widok z kolei to interfejs graficzny w czystej postaci. W przypadku Silverlight, WPF jest to po prostu plik zawierający e... (więcej)
kategoria: Architektura | kliknięć: 84 | skomentuj | | źródło: www.pzielinski.com
2
.netomaniaki

Piotr Zieliński » Blog Archive » Warstwa prezentacji – wprowadzenie nowe okno

opublikowano 49 dni, 3 godziny, 20 minut temu | wysłane przez pzielinskipzielinski 58 dni, 19 godzin, 16 minut temu
10 czerwca 2010 10:05:33 GMT 31 maja 2010 18:10:00 GMT
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 cech p... (więcej)
kategoria: Architektura | kliknięć: 95 | skomentuj | | źródło: www.pzielinski.com
3
.netomaniaki

Piotr Zieliński » Blog Archive » Zasady S.O.L.I.D – Dependency inversion principle nowe okno

opublikowano 52 dni, 17 godzin, 47 minut temu | wysłane przez pzielinskipzielinski 62 dni, 17 godzin, 18 minut temu
6 czerwca 2010 19:39:00 GMT 27 maja 2010 20:08:23 GMT
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 bizne... (więcej)
kategoria: Architektura | kliknięć: 58 | skomentuj | | źródło: www.pzielinski.com
6
.netomaniaków

Piotr Zieliński » Blog Archive » Zasady S.O.L.I.D – Interface Segregation Principle nowe okno

opublikowano 55 dni, 7 godzin, 36 minut temu | wysłane przez pzielinskipzielinski 65 dni, 2 godziny, 59 minut temu
4 czerwca 2010 05:50:12 GMT 25 maja 2010 10:27:12 GMT
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 Eat... (więcej)
kategoria: Architektura | kliknięć: 80 | skomentuj | | źródło: www.pzielinski.com
5
.netomaniaków

Piotr Zieliński » Blog Archive » Zasady S.O.L.I.D – zasada podstawienia Liskov nowe okno

opublikowano 60 dni, 6 godzin, 17 minut temu | wysłane przez pzielinskipzielinski 68 dni, 19 godzin, 52 minuty temu
30 maja 2010 07:08:41 GMT 21 maja 2010 17:34:16 GMT
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. P... (więcej)
kategoria: Architektura | kliknięć: 73 | skomentuj | | źródło: www.pzielinski.com
4
.netomaniaki

Piotr Zieliński » Blog Archive » Zasady S.O.L.I.D – Open/closed principle nowe okno

opublikowano 62 dni, 7 godzin, 38 minut temu | wysłane przez pzielinskipzielinski 72 dni, 35 minut temu
28 maja 2010 05:47:50 GMT 18 maja 2010 12:50:25 GMT
Zasada O\C mówi, że oprogramowanie powinno być otwarte na rozszerzenia a zamknięte na modyfikacje. Innymi słowy programista powinien być w stanie uzyskać zamierzony efekt poprzez rozszerzenie klasy czy przeładowanie metody a nie zmianę już istniejącego kodu. Zasada jest szczególnie istotna w przypadku kodu produkcyjnego, w którym wszelkie możliwości modyfikacji kodu są ograniczone. Zasada pozwala budować modularne systemy. Użycie ENUM moim zdaniem jest złamaniem Open\Closed principle. Wykorzystując w kodzie... (więcej)
kategoria: Architektura | kliknięć: 64 | skomentuj | | źródło: www.pzielinski.com
3
.netomaniaki

Piotr Zieliński » Blog Archive » Zasady S.O.L.I.D – Single Responsibility Principal nowe okno

opublikowano 65 dni, 16 godzin, 2 minuty temu | wysłane przez pzielinskipzielinski 75 dni, 1 godzinę, 18 minut temu
24 maja 2010 21:24:17 GMT 15 maja 2010 12:08:07 GMT
W Inżynierii oprogramowania SOLID oznacza zestaw podstawowych zasad projektowania oprogramowania. Każda literka w wyrazie jest skrótem do jakieś zasady. ‘S’ oznacza Single Responsibility Principal. Podejrzewam, że większość osób doskonale zna już tą zasadę. Aby jednak zachować pewien porządek na blogu będę tłumaczył nawet te oczywiste reguły:). W skrócie zasada mówi, że każdy obiekt (klasa) powinien być odpowiedzialny za jak najmniejszy fragment logiki. Niedopuszczalne jest aby klasa wykonywała dwie niezal... (więcej)
kategoria: Architektura | kliknięć: 60 | skomentuj | | źródło: www.pzielinski.com
4
.netomaniaki

Sześć tygodni nietrywialnego modelu « Notki Po Polsku « Simon says… architecture! nowe okno

opublikowano 65 dni, 17 godzin, 50 minut temu | wysłane przez gordon_shumwaygordon_shumway 73 dni, 7 godzin, 53 minuty temu
24 maja 2010 19:35:44 GMT 17 maja 2010 05:32:41 GMT
Minęło właśnie sześć tygodni od opublikowania notki omawiającej szkic architektury systemu, nad którym właśnie pracuje. Tak, jak zakładaliśmy, wchodzimy właśnie z naszym systemem w fazę testów akceptacyjnych. Wdrożenie produkcyjne zbliża się wielkimi krokami. Przy tej okazji chciałbym Wam opowiedzieć, co zmieniło się w projekcie naszego systemu w ciągu tych pracowitych sześciu tygodni. Architektura Większość definicji architektury odnosi si... (więcej)
kategoria: Architektura | kliknięć: 80 | skomentuj | | źródło: simon-says-architecture.com
3
.netomaniaki

Ewolucja przyzwyczajeń DI/IoC « Notki Po Polsku « Simon says… architecture! nowe okno

opublikowano 72 dni, 24 minuty temu | wysłane przez gordon_shumwaygordon_shumway 79 dni, 7 godzin, 43 minuty temu
18 maja 2010 13:02:22 GMT 11 maja 2010 05:42:32 GMT
Bardzo długo moim ulubionym kontenerem był Unity, mimo faktu, że dużo mądrych ludzi ze społeczności wieszało na nim psy. Dlaczego tak polubiłem Unity? Ponieważ powstawał na moich oczach. Znam go począwszy od wczesnych “zajawek” wypuszczanych przez grupę Patterns & Practices. Wcześniej nieco interesowałem się ich biblioteką ObjectBuilder, więc naturalnie moja uwaga przeszła na Unity. Byłem w stanie przeczytać i zrozumieć kod pierwszej w... (więcej)
kategoria: Architektura | kliknięć: 78 | skomentuj | | źródło: simon-says-architecture.com
tagi: Autofac, DI, IoC, Unity
2
.netomaniaki

Piotr Zieliński » Blog Archive » W jaki sposób interpretowane są wyrażenia lambda? nowe okno

opublikowano 72 dni, 24 minuty temu | wysłane przez pzielinskipzielinski 77 dni, 20 godzin, 16 minut temu
18 maja 2010 13:02:22 GMT 12 maja 2010 17:09:44 GMT
Kiedyś czytając książkę “More Effective C#” zaciekawiło mnie wyjaśnienie interpretacji wyrażeń lambda przez kompilator. W książce autor przedstawił następujący fragment kodu:publicclass ModFilter { privatereadonlyint modulus; public ModFilter(int mod) { modulus = mod; } public IEnumerable (więcej)
kategoria: Architektura | kliknięć: 90 | skomentuj | | źródło: www.pzielinski.com
2
.netomaniaki

Strategy Pattern nowe okno

opublikowano 80 dni, 22 godziny, 40 minut temu | wysłane przez mackomacko 89 dni, 7 godzin, 57 minut temu
9 maja 2010 14:46:14 GMT 1 maja 2010 05:28:25 GMT
Autor: No to postaram się opisać coś co się przydaje (jak się umie stosować – to przy wzorcach zawsze trzeba powtarzać). Korzystając z okazji od razu sobie to utrwalę, zgodnie z zasadą ‘ucz się ucząc’, czy jakoś tak Na początek zacznę od wzorca strategii, jest to zdecydowanie jeden z prostszych i upiększających kod wzorców, z jakiś powodów też został wybrany jako pierwszy przez autorów “Head First Design Patterns”. Dodatkowymi atutami przemawiającymi, żeby omówić akurat ten wzorzec, jest fakt, że w bardzo ... (więcej)
kategoria: Architektura | kliknięć: 104 | skomentuj | | źródło: www.mieczynski.tk
tagi: stratey pattern, Wzorce projektowe
2
.netomaniaki

Model-View-Presenter z Autofac w aplikacji desktopowej nowe okno

opublikowano 84 dni, 23 godziny, 39 minut temu | wysłane przez mackomacko 92 dni, 8 godzin, 29 minut temu
5 maja 2010 13:46:54 GMT 28 kwietnia 2010 04:57:23 GMT
Zastrzeżenie: może poniższe wypociny to wcale nie Model-View-Presenter a Model-View-Controller, może MVC: Passive View a może MVC: Supervising Controller a może MVP: Ostatnia Krew. Szczerze: I don't give a damn. (no... nie do końca; polecam artykuły Fowlera w sekcji Presentation Patterns jako bardzo ciekawą lekturę, ale zbytnie rozwodzenie się nad włożeniem danej implementacji do prawidłowej szufladki uważam za lekki przerost formy nad treścią) Niniejszy post zakłada, że Czytelnik jest zaznajomiony z t... (więcej)
kategoria: Architektura | kliknięć: 60 | skomentuj | | źródło: www.maciejaniserowicz.com
tagi: model-view_presenter, NHibernate
2
.netomaniaki

Piotr Zieliński » Złożoność cyklomatyczna nowe okno

opublikowano 87 dni, 6 godzin, 20 minut temu | wysłane przez pzielinskipzielinski 93 dni, 2 godziny, 19 minut temu
3 maja 2010 07:06:08 GMT 27 kwietnia 2010 11:07:06 GMT
Jednym z wcześniejszych postów przedstawiłem aplikację nDepend obliczającą przeróżne metryki kodu. Większość metryk obliczanych przez program jest oczywista (liczba linii kodu, procent komentarzy, liczba klas itp). Na solidny komentarz zasługuje jednak złożoność cyklomatyczna (w skrócie CC). Aby obliczyć CC, należy najpierw należy narysować graf przepływu informacji dla badanego kodu. Złożoność można obliczać zarówno dla konkretnej metody jak i całego systemu. Rozpatrzmy następujący fragment kodu: private... (więcej)
kategoria: Architektura | kliknięć: 37 | skomentuj | | źródło: www.pzielinski.com
Poprzednia 1 2 3 4 5 6 7 Następna