dotnetomaniak.pl - Najnowsze artykuły o .NET w dziale Architektura - Strona 29

Zostałem niedawno zapytany, dlaczego w projekcie DDDSample.NET projekt “Application” nazywa się właśnie tak, a nie “Domain Services”. Zwróciło to moją uwagę na całkiem spory problem nazewnictwa związanego z DDD oraz ogólnie z architekturami. Jednym ze źródeł problemu zdaje się być niesamowicie przeładowane znaczeniowo słowo “usługa”. Ale po kolei… Wspomniany projekt “Application” zawiera fasadę Modelu Domeny udostępniającą operacje biznesowe realizowane za pomocą tegoż mo...

Dziel się z innymi:
O usługach « Notki Po Polsku « Simon says… architecture!

Architektura 4124 dni, 15 godzin, 19 minut temu gordon_shumway 66 źrodło rozwiń

Często WCF, mimo swoich możliwości w zakresie "interoperability", wcale nie musi być kompatybilny z komponentami zewnętrznymi. Nasz serwer, nasz klient, a WCF między nimi. I... tu zwykle zaczynają się problemy... (jak to pisał nie-ś.p. † Kurt Vonnegut, gówno wpada w szprychy:) ). WCF jest tak rozbudowaną i skomplikowaną technologią, że odpowiednie dobranie zawartych w niej klocków do stworzenia budowli, której potrzebujemy, jest niekiedy żmudnym, trudnym i bardzo czasochłonnym zajęciem. Niby na MSDN jes...

Tagi: Security, WCF
Dziel się z innymi:
Maciej Aniserowicz | WCF Auth Starter - zalążek aplikacji klient-serwer z uwierzytelnianiem username/password

Architektura 4124 dni, 15 godzin, 19 minut temu gordon_shumway 132 źrodło rozwiń

Dużo piszę ostatnio o CQRS (Command Query Responsibility Segregation), ale nie pokazałem ani razu jak to podejście wygląda w praktyce. Postaram się dziś naprawić to niedopatrzenie. Posłużę się w tym celu projektem DDDSample w najnowszej wersji CQRS. Kod podzielony jest na cztery główne obszary: Domain — tutaj znajduje się logika biznesowa aplikacji, której zadaniem jest przetwarzanie transak...

Tagi: CQRS, DDDSample
Dziel się z innymi:
CQRS w praktyce «  Simon says… architecture!

Architektura 4134 dni, 7 godzin, 44 minuty temu gordon_shumway 309 źrodło rozwiń

Programowanie w JavaScript niesie za sobą dużą dozę swobody jeżeli chodzi o posługiwanie się funkcjami. Funkcje są wszędzie, deklarować je można na wiele sposobów, a rozsądne ich wykorzystanie jest źródłem nowych przyzwyczajeń, które chciałoby się niejednokrotnie przenieść do "rodzimego" języka programowania. W moim przypadku oczywiście C#. I dzięki wyrażeniom lambda takie szafowanie funkcjami na lewo i prawo staje się nie tylko możliwe (bo możliwe było już wcześniej od .NET 2.0 dzięki anonimowym delegat...

Tagi: C#, funkcje
Dziel się z innymi:
Maciej Aniserowicz | "Lokalne" funkcje w C#

Architektura 4136 dni, 6 godzin, 33 minuty temu ada_man 137 źrodło rozwiń

Chciałbym nawiązać tą notką do mojej pierwszej notki z tego bloga. Była to analiza dostępnych technik odwracania zależności w kontekście aplikacji o tzw. architekturze cebulowej. Od tego czasu moje poglądy na ten temat nieco się zmieniły, stąd nagląca potrzeba aktualizacji. Dlaczego w ogóle zajmuję się tym tematem? Wujek Bob, w jednej ze swoich ostatnich notek, poruszył problem uzależnienia od technicznych aspektów ...

Wzorce odwracania zależności w aplikacji z modelem domeny «  Simon says… architecture!

Architektura 4146 dni, 11 godzin, 30 minut temu gordon_shumway 148 źrodło rozwiń

Uzupełniam ostatnio braki w wiedzy, dotyczące synchronizacji wątków. Gdzieś w podrozdziale dotyczącym tego tematu przykuł moją uwagę Mutex. Mutex to, obok monitorów i semaforów, jedna z “prymitywnych” metod synchronizacji. Ma jednak bardzo ciekawą właściwość, odróżniającą ją od kolegów po fachu…

Tagi: .Net, C#, wątki
Źródło: andrzej.net.pl
Dziel się z innymi:
Mutex i sprawdzanie czy aplikacja jest jedyną uruchomioną : andrzej.net.pl

Architektura 4179 dni, 13 godzin, 27 minut temu gordon_shumway 103 źrodło rozwiń

Pierwszy wpis w nowym roku 2010 będzie dotyczył zagadnienia uruchamiania aplikacji .Net'owych na maszynach 64 bitowy. W większości przypadków nie ma z tym żadnego problemu. W końcu IL jest przenośny. Problemy zaczynają się kiedy chcemy wykorzystać w swojej aplikacji biblioteki 32 bitowe. Niestety ale nie jest możliwe aby proces 64 bitowy używał bibliotek 32 bitowych i na odwrót. Przeważnie nie mamy również możliwości przekompilowania biblioteki, z której korzystamy. Ja spotkałem się z tym problem urucham...

Tagi: .Net, Narzędzia
Dziel się z innymi:
.NET C# GIS programowanie - Blog Michała Komorowskiego: Uruchamianie aplikacji na 64 bitach

Architektura 4179 dni, 18 godzin, 21 minut temu gordon_shumway 76 źrodło rozwiń

Autor: Czasem tak się dzieje, że czytając swój własny kod pierwszy raz od kilku miesięcy mamy problem z jego zrozumieniem, zwłaszcza jeżeli nie komentujemy go w odpowiedni sposób. Ale nie jest to jedyna przyczyna problemu. Ostatnio analizując stare projekty doszedłem do wniosku, że istnieje w nich mnóstwo kodu zaciemniającego rzeczywistą logikę działania. Mam tu na myśli dziesiątki wyrażeń postaci if (something != null) i podobnych, które bardzo skutecznie odciągają uwagę od tego co naprawdę nas interesu...

Dziel się z innymi:
NULL vs. Exception, a może alternatywa? «  DM's blog

Architektura 4181 dni, 15 godzin, 14 minut temu macko 148 źrodło rozwiń

Powtarzanie kodu w kilku miejscach zwykle jest sygnałem zaniedbania i nie powinno mieć miejsca. Nawet (a może: w szczególności!) gdy kod ten jest prosty, głupi, niewymagający myślenia i będący efektem tzw. clipboard inheritance (ctrl+c, ctrl+v). Tyczy się to również konstruktorów klas. Tą część kodu łatwo jest przegapić, bo wszelakie ułatwiacze umożliwiają automatyczne ich wygenerowanie. A co jeśli mamy ich kilka? Poniższy przykład obrazuje stan, do którego NIE CHCEMY doprowadzić...

Tagi: C#
Dziel się z innymi:
Maciej Aniserowicz | Constructor chaining

Architektura 4194 dni, 7 godzin, 36 minut temu gordon_shumway 88 źrodło rozwiń

"Bezpieczeństwo w WCF" - pojęcie takie wydaje się oklepane i opisane na wszelkie możliwe sposoby. Tyle materiałów, tyle blogów, artykułów, książek...

Dziel się z innymi:
Maciej Aniserowicz | Własne mechanizmy uwierzytelniania w WCF

Architektura 4206 dni, 8 godzin, 57 minut temu gordon_shumway 121 źrodło rozwiń

Projektanci WCF zostawili w swoim produkcie bardzo dużo półprzymkniętych furtek czekających tylko na odkrycie i wykorzystanie ich potencjału. Jednym z takich czarodziejskich otworów do przyjemnego, różowego, miękkiego wnętrza WCF jest infrastruktura Behaviors (więcej o, między innymi, nich, na przykład w artykule "Extending WCF with Custom Behaviors"). Z ich pomocą można osiągnąć baaardzo wiele, między innymi: w niesamowicie elegancki sposób zebrać w jednym miejscu wszystkie błędy wygenerowane przez nasz...

Tagi: WCF, wyjątki
Dziel się z innymi:
Maciej Aniserowicz | Obsługa wyjątków w usługach WCF

Architektura 4208 dni, 10 godzin, 1 minutę temu gordon_shumway 93 źrodło rozwiń

Re: NHibernateStarter... Czyli nawiązanie do świetnego posta Procent-a na temat jego sposobu budowy aplikacji. Poniżej zamieszczam moje aktualne poglądy na ten temat. Zieloną czcionką wyróżniłem fragmenty porównujące oba rozwiązania. O czym w ogóle mowaZawsze na początku należy sobie zadań takie pytanie. O jakich w ogóle aplikacjach mówimy? Procent opisywał przypadek nietrywialnej aplikacji biznesowej (OLTP), więc i ja posłużę się takową. Termin "nietrywialny" oznacza dla mnie znaczący stopień skomplikow...

Re: NHibernateStarter...

Architektura 4213 dni, 17 godzin, 54 minuty temu Damian 68 źrodło rozwiń

Autor: Zainspirowany jednym z postów na blogu Maciej Aniserowicza, postanowiłem bliżej przyjrzeć się zagadnieniu mapowania object-to-object. Wydaje się to być idealny lek na „głupie” mapowanie property poprzez przepisywanie każdego po kolei. A i owszem jest. Szczególnie przydatne przy mapowaniu obiektów domeny do obiektów DTO. Nie wiem ilu z Was robi/robiło t...

Tagi: mapowanie
Dziel się z innymi:
O2O Mapping « Beniamin Zaborski's Blog (BeniaminZaborski.com)

Architektura 4234 dni, 17 godzin, 43 minuty temu macko 54 źrodło rozwiń

Wielu projektantów systemów informatycznych dedykowanych na platformę .NET odczuwa drobny dyskomfort spowodowany brakiem zintegrowanych i jednocześnie zaawansowanych narzędzi wspomagających modelowanie w UML w środowisku Visual Studio 2005 lub Visual Studio 2008. W środowisku Visual Studio 2003 można było korzystać z Rational .XDE pluginu, który integrował się z tym śtrodowiskiem i umożliwiał budowę modeli UML prawie tak samo jak w Rational Rose. Pełna integracja z VS pozwalała na inżynierię wstecz inzyn...

Tagi: .Net, C#
Źródło: www.wolski.waw.pl
Dziel się z innymi:
IBM Rational Software Modeler i platforma .NET

Architektura 4245 dni, 2 godziny, 43 minuty temu CaMeL 22 źrodło rozwiń

Wskazania Composite Application Guidance for WPF and Silverlight, znane również pod nazwą Prism v2, są już dostępne od kilku miesięcy. Jednym z obszarów, w których Prism zapewnia wsparcie jest możliwość tworzenia swojej aplikacji zarówno dla Windows Presentation Foundation (WPF), jak i dla Silverlight. Ciekawe, że początkowo ta część naszych wskazań spotkała się ze sporym oporem. Dlaczego skupialiśmy się na wieloplatformowości przez pierwsze kilka iteracji projektu, gdy mogliśmy poświęcić swój czas na ud...

Dziel się z innymi:
Budowanie aplikacji WPF i Silverlight przy pomocy pojedynczej bazy kodu z wykorzystaniem Prism

Architektura 4246 dni, 6 godzin, 35 minut temu Damian 109 źrodło rozwiń

Adapter jest kolejnym z wzorców projektowych, które postanowiłem sukcesywnie omawiać na swoim blogu. Wszystkich zainteresowanych wzorcami projektowymi (dla C#) zapraszam do śledzenia zmian -zapewniam, że będą się tutaj pojawiały kolejno wszystkie znane wzorce projektowe.

wzorzec Adapter

Architektura 4256 dni, 17 godzin temu Damian 218 źrodło rozwiń

Zgodnie z zasadami programowania obiektowego pola klas nie powinny być bezpośrednio dostępne na zewnątrz. Należy jest zawsze opakowywać w akcesory: właściwości lub krótkie metody typu get i set. Z nich właśnie korzysta potem kod zewnętrzny, dzięki czemu nie może on (w dobrze napisanej klasie) niczego zepsuć poprzez - chociażby - ustawienie jakiegoś pola na nieprzewidzianą wartość.

Źródło: xion.org.pl
Dziel się z innymi:
Pola i akcesory wewnątrz klasy

Architektura 4257 dni, 8 godzin, 37 minut temu Damian 42 źrodło rozwiń

Kontrowersyjny esej o kodzie czytelnym, część 3: język w kodzie Wybierz jeden język nazewnictwa elementów kodu w projekcie lub zespole. Całość kodu w ramach jednego projektu lub tworzonego przez jeden zespół powinna stosować jeden i ten sam język nazewnictwa elementów kodu (zmiennych, klas itp.). Dlaczego? Aby osoba czytająca kod, nawigując od klasy do klasy, nie musiała przestawiać swojego sposobu myślenia. Jak wszyscy programiści doskonale wiedzą, przełączanie kontekstu jest kosztowne. Należy go więc ...

Źródło: zine.net.pl
Dziel się z innymi:
Kontrowersyjny esej o kodzie czytelnym, część 3: język w kodzie

Architektura 4257 dni, 10 godzin, 15 minut temu Damian 43 źrodło rozwiń

Mówiłem już, że jestem leniem? Ale to nie dlatego tak długo nie ukazywała się trzecia część serii o MVP. Końcówka wakacji i początek roku były trochę zwariowane i brakowało mi nieco czasu. Pragnąc nadrobić postanowiłem dziś choćby nie wiem co napisać kolejną część. Postaram się opisać dwa elementy bez których aplikacja asp.net nie może istnieć. Jest to walidacja oraz zdarzenia. Choć każdy kto czyta ten artykuł prawdopodobnie w...

Tagi: C#, MVP
Dziel się z innymi:
MVP cz. 3 - zdarzenia i walidacja - DM’s blog

Architektura 4258 dni, 9 godzin, 32 minuty temu Damian 92 źrodło rozwiń

Klasa TaskScheduler. Poza klasami TaskFactory i TaskScheduler jest podstawowym elementem nowej przestrzeni nazw Tasks. Cytując MSDN, jest punktem rozszerzenia logiki kolejkowania zadań (stąd klasa TaskScheduler jest abstrakcyjna). Domyślna instancja (zwracana przez statyczną własność TaskScheduler.Current) jest typu ThreadPoolTaskScheduler – wykorzystuje nową implementację klasy ThreadPool opartą o „kradzież” pracy. Z nazwy klasy można wyczytać co kryje ta implementacja – korzysta z ThreadPool do kolejko...

Dziel się z innymi:
Rivers of .NET Babylon | Task-based API w .NET 4.0 (część II)

Architektura 4262 dni, 4 godziny, 23 minuty temu macko 62 źrodło rozwiń

1 2... 27 28 29 30 31 32 33

Najaktywniejsi

1
(32 895,6)
2
(32 816,53)
3
(27 178,29)
4
(21 178,88)
5
(20 336,33)
6
(13 018,14)
7
(10 531,65)
8
(9 775,28)
9
(8 866,31)
10
(6 837,96)
11
(6 214,22)
12
(5 393,84)
13
(4 157,41)
14
(4 026,73)
15
(3 908,07)
16
(3 599,64)
17
(3 448,35)
18
(3 318,39)
19
(3 224,66)
20
(3 221,45)