dotnetomaniak.pl

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

Autor: "Na początku przygody z Inversion of Control, a także dość długo później, moje wykorzystanie dostępnych kontenerów ograniczało się właściwie do ręcznego zarejestrowania wszystkich interfejsów, wszystkich interesujących mnie implementacji oraz zdefiniowaniu zależności w postaci parametrów konstruktora. Działało. Ostatnio korzystając z okazji postanowiłem podejść do problemu inaczej. Moim celem było zminimalizowanie czynności prowadzących do uzyskania żądanego efektu - "minimum friction development...

Dziel się z innymi:
Maciej Aniserowicz | Samobudująca się aplikacja z Autofac

Architektura 2469 dni, 20 godzin, 57 minut temu http://pawlos.blogspot.com/ 153 rozwiń

Ostatnio poznaję kontener DI Autofac i baaardzo mi się on podoba - nie tylko nazwa, funkcjonalność także. Ten post rozpoczyna paczkę kilku ciekawych (mam nadzieję:) ) postów pokazujących, jak przy pomocy Autofac zbudować "samoskładającą się" aplikację.

Maciej Aniserowicz | Autofac i open generic types: Application Events revisited

Architektura 2474 dni, 18 godzin, 12 minut temu gordon_shumway 94 rozwiń

W poprzednim poście opisałem wzorzec repozytorium. Jak już wspomniałem, repozytorium może różnić się  implementacją w zależności od encji. W skrajnych przypadkach może być jedno repozytorium na jedną encję (Order – OrderRepository, Product – ProductRepository itp). Tworzenie każdego repozytorium ręcznie w zależności od przetwarzanej encji jest dość niewygodne. Przydałby się jakiś globalny mechanizm na tworzenie obiektów na podstawie typu encji. Dobrym rozwiązaniem problemu jest implementacja wzorca serv...

Tagi:
Dziel się z innymi:
Piotr Zieliński  »  Jak tworzyć instancję repozytorium?

Architektura 2476 dni, 18 godzin, 53 minuty temu pzielinski 89 rozwiń

Jak już wspominałem kilka postów temu, ponowna lektura części Strategic Design z książki Erica Evansa pomogła mi usystematyzować swoją aktualną wiedzę na temat DDD. Dziś chciałbym się z Wami podzielić dalszą częścią mojego odkrycia. Warstwa możliwości (capabilities) świetnie nadaje się do tworzenia encji warstwy operations. O co chodzi? Jakiś czas temu Udi Dahan pisał o tym, że nie powinniśmy tworzyć korzeni agregatów. Jego post wykorzystuje przykład sklepu internetowego. Za...

Tagi: DDD
Dziel się z innymi:
Warstwy modelu « Notki Po Polsku « Simon says… architecture!

Architektura 2476 dni, 22 godziny, 38 minut temu gordon_shumway 89 rozwiń

Implementując warstwę biznesową za pomocą DomainModel lub ActiveRecord uzyskujemy bardzo rozdrobniony interfejs. Ponadto stworzone obiekty biznesowe zawierają logikę odnoszącą się tylko do konkretnej encji. W poprzednich postach pokazałem prostą klasę Client, implementującą wzorzec DomainModel. Przedstawiona klasa mogła wykonywać tylko operacje dla konkretnego, jednego klienta. W systemie jednak często będziemy musieli brać pod uwagę zbiór encji. Przykładowo może być potrzeba zwrócenia zbioru klientów, d...

Tagi:
Dziel się z innymi:
Wzorzec repozytorium (repository pattern)

Architektura 2478 dni, 2 godziny, 34 minuty temu pzielinski 489 rozwiń

Wiele ludzi zastanawia się jak rozwiązać używanie MessageBoxa  w wpfie. Ja proponuje ( jeśli to możliwe) w ogóle go nie używać. Zwykły MessageBox jest dosyć ograniczony, mamy do wyboru tylko parę przycisków i obrazków. W samym wpfie dodatkowo dosyć trudno rozwiązać problem otwierania messageboxa z viewmodeli, z reguły owija się go wtedy dodatkową klasą. W wpfie proponuje zastąpić MessageBoxa przez Adornera z odpowiednią zawartością, który będzie p...

Tagi: WPF
Źródło: bartekszafko.pl
Dziel się z innymi:
Bartek Szafko »    WPF: proponuje nie używać MessageBox-a

Architektura 2481 dni, 19 godzin, 42 minuty temu gordon_shumway 138 rozwiń

Niedawno natknąłem się na StackOverflow interesujące pytanie dotyczące Domain-Driven Design. Chciałbym się z Wami podzielić moimi przemyśleniami. Pytanie dotyczyło zaprojektowania logiki biznesowej dla domeny składającej się z trzech obiektów: Książki (Book), Rozdziału (Chapter) oraz Strony (Page): Problem polega na tym, który element, z przedstawionych trzech, powinien być korzeniem agregatu?

Tagi: DDD, uml
Dziel się z innymi:
Przypadek książkowy « Notki Po Polsku « Simon says… architecture!

Architektura 2488 dni, 3 godziny, 59 minut temu gordon_shumway 85 rozwiń

Dzisiaj krótki post o wsparciu narzędzi ORM (konkretnie EF) da wzorca aktywny rekord. Tak naprawdę to co generuje nam EF jest już aktywnym rekordem. Wystarczy tylko uzupełnić wygenerowane klasy o logikę biznesową ponieważ w przeciwnym wypadku będzie to tylko czysta warstwa dostępu do danych. Załóżmy, że mamy już wygenerowany jakiś diagram encji EF.Na tą chwile mamy wyłącznie  zaimplementowaną (a raczej wygenerowaną) warstwę dostępu do danych. W celu dodawania właściwej logiki biznesowej, należy stworzy...

Tagi:
Dziel się z innymi:
Aktywny rekord i Entity Framework

Architektura 2489 dni, 4 godziny, 17 minut temu pzielinski 80 rozwiń

Oczywiście nie ma jednoznacznej odpowiedzi jaki wzorzec używać. Wszystko zależy od konkretnych wymagań aplikacji oraz dostępnego czasu na ukończenie projektu. Wzorce obiektowe na pewno cechują się większą elastycznością od wzorców proceduralnych. Z drugiej strony jeśli projekt nie jest zbyt skomplikowany to po co poświęcać czas na implementacje ich, jeżeli i tak to w przyszłości nie zwróci się (w postaci zaoszczędzonego czasu)? Generalnie im więcej poświecimy czasu  na początku na implementacje wzorca t...

Tagi:
Dziel się z innymi:
Warstwa biznesowa – porównanie wzorców

Architektura 2489 dni, 18 godzin, 39 minut temu pzielinski 102 rozwiń

Dzisiaj przyszedł czas na pierwszy wzorzec obiektowy – aktywny rekord(AR). Zaczynamy od diagramu klas:   W przeciwieństwie do poprzednich wzorców, każda klasa definiuje fragment logiki biznesowej. Obiekty klas występują w relacji jeden do jednego względem wierszy w tabeli. Klasa Order będzie zawierała zatem logikę dla konkretnego zamówienia a nie dla zbioru zamówień. Klasy tworzymy zwykle dla każdej tabeli z bazy danych a ich instancje jak już wspomniałem dla każdego przetwarzanego wiersza. Warto po...

Tagi:
Dziel się z innymi:
Warstwa biznesowa – aktywny rekord (Active Record pattern)

Architektura 2490 dni, 22 godziny, 57 minut temu pzielinski 146 rozwiń

Przyszedł czas na opisanie najbardziej złożonego wzorca warstwy biznesowej – modelu domeny (DM). Jeśli nie znacie dobrze wzorca opisanego w poprzednich postach (aktywny rekord) nie zaczynajcie nawet próbować zrozumieć DM ponieważ jest on po prostu rozszerzeniem AR. Na początek kilka faktów. DM jest wzorcem w pełni obiektowym, wykorzystującym wszelkie dobrodziejstwa programowania obiektowego (dziedziczenie, polimorfizm itp.). DM w przeciwieństwie do AR nie jest wzorcem zorientowanym na bazę danych. Scen...

Tagi:
Dziel się z innymi:
Warstwa biznesowa – model domeny (domain model pattern)

Architektura 2491 dni, 13 godzin, 9 minut temu pzielinski 159 rozwiń

Moduł tabeli (TM – table module) jest również wzorcem proceduralnym (podobnie jak TS). Rozwiązuje jednak podstawowy problem TS – brak zdefiniowania metody podziału logiki biznesowej na klasy. W przypadku TS sam wzorzec nie określał ile klas należy stworzyć. Wszystko zależało od programisty. Mógł on stworzyć jedną klasę zarządzającą zarówno zamówieniami jak i produktami. Moduł tabeli mówi po prostu, że należy stworzyć osobną klasę dla każdej tabeli w bazie danych. Czyli w przypadku gdy mamy tabele “Orders...

Tagi:
Dziel się z innymi:
Warstwa biznesowa – moduł tabeli (table module pattern)

Architektura 2491 dni, 18 godzin, 49 minut temu pzielinski 86 rozwiń

Najprostszym wzorcem projektowym warstwy biznesowej,  należącym do grupy wzorców proceduralnych jest skrypt transakcji (w skrócie TS – transcaction script). Spójrzmy na diagram UML przedstawiający przykład jego użycia: Innymi słowy, TS jest zapisem przypadków użycia w naszym systemie. W przypadku systemu sprzedaży oczywistymi przypadki użycia są m.in.: dodanie nowego klienta do bazy, złożenie zamówienia czy pobranie listy produktów. Jak już wspomniałem jest to wzorzec proceduralny a nie obiektowy zate...

Tagi:
Dziel się z innymi:
Warstwa biznesowa – skrypt transakcji

Architektura 2495 dni, 15 godzin, 53 minuty temu pzielinski 111 rozwiń

Wracamy do kursu o TPL. Dziś trochę informacji faktów o .For oraz .ForEach. Te dwie metody dają podstawowy sposób na zrównoleglenie naszego kodu bez większego wysiłku

Tagi: NET 4.0, TPL
Dziel się z innymi:
.NET blog: TPL - Parallel.For/ForEach

Architektura 2496 dni, 14 godzin, 1 minutę temu gordon_shumway 103 rozwiń

Zacznijmy od zdefiniowania do czego potrzebna nam jest tzw. warstwa biznesowa w systemie. Sama nazwa może nie wiele mówi i czasami okazuje się  nawet myląca. Ogólnikowo  jest to rdzeń systemu. Stanowi zdecydowanie najważniejszy punkt każdej aplikacji. Warstwa biznesowa ( w skrócie BL – business layer) zawiera właściwą logikę aplikacji. Jeśli brzmi to zbyt abstrakcyjnie, przedstawmy to na przykładzie systemu sprzedaży (na którym będę często bazował). Co stanowi warstwę biznesową ( a więc logikę)  w syste...

Tagi:
Dziel się z innymi:
Wprowadzenie do warstwy biznesowej

Architektura 2497 dni, 21 godzin, 39 minut temu pzielinski 115 rozwiń

Postanowiłem, że zanim przejdę do omawiania kolejnych  warstw systemu, wyjaśnię bardziej szczegółowo po co wprowadzono trójwarstwowy model aplikacji wspomniany w poprzednim poście. Otóż dzięki separacji kodu na warstwy nasza architektura stanie się elastyczniejsza. Model umożliwi nam m.in.:Przenaszalność. Kolejne warstwy będą mogły być rozmieszczane na różnych platformach sprzętowych. W każde chwili będziemy mogli np. przenieść warstwę biznesową na zewnętrzny serwer, bez konieczności modyfikowania kodu, ...

Tagi:
Dziel się z innymi:
Dlaczego warto zainteresować się trójwarstwowym modelem aplikacji?

Architektura 2499 dni, 22 godziny, 14 minut temu pzielinski 172 rozwiń

Dziś przyszedł czas na poruszenie tematu architektury aplikacji typu enterprise. Planuje napisać cykl postów m.in. o różnych wzorcach projektowych wykorzystywanych do budowy kolejnych warstw systemu. Zacznę od totalnych podstaw, które mają na celu wyjaśnienie z czego tak naprawdę powinna się składać solidna aplikacja. Przedstawię również kilka prostych zasad inżynierii oprogramowania mających na celu usprawnienie pisania elastycznego kodu. Zacznijmy od określenia czym jest aplikacja enterprise. Według n...

Tagi:
Dziel się z innymi:
Czym jest oprogramowanie typu enterprise? Trójwarstwowy model aplikacji

Architektura 2503 dni, 20 godzin, 14 minut temu pzielinski 235 rozwiń

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 2505 dni, 1 godzinę, 2 minuty temu gordon_shumway 66 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 2505 dni, 1 godzinę, 2 minuty temu gordon_shumway 123 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 2514 dni, 17 godzin, 27 minut temu gordon_shumway 269 rozwiń

1 2... 12 13 14 15 16 17 18
Szkolenia SecurITum

luty

25.

marzec

03.
Wroc#
Wrocław

kwiecień

03.
4developers
Warszawa
Zobacz wszystkie

.NET Developer Days 2015

W tym roku ponownie jak w poprzednim jesteśmy jednym z patronów medialnych konferencji .NET Developer Days. W tym roku jednym z prelegentów będzie Scott Hanselman.  czytaj więcej
2015-07-22

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 510,42)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,87)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 383,84)

8

Damian (9 011,08)

9

danielplawgo (7 235,99)

10

arek (6 642,85)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 418,06)

15

jedmac (3 238,38)

16

http://jakub-flor... (3 224,66)

17

CaMeL (2 954,87)

18

mnikolajuk (2 596,93)

19

lkurzyniec (2 466,12)

20

FutureProcessing (2 460,11)