dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem design patterns

Dzisiaj kilka słów na temat wzorca Flyweight – “waga piórkowa”. Wzorzec ten należy do grupy wzorców strukturalnych. Flyweight zajmuje się udostępnianiem pojedynczego obiektu wielu klientom. Wspólny dostęp znajduje zastosowanie gdy występuje potrzeba zarządzania dużą ilością obiektów(setki, tysiące, itp), które posiadają jakąś niezmienną część. Dość prymitywnym przykładem może być proces tworzenia oferty sprzętu: zamiast do każdego długiego opisu powiedzmy procesora, wraz z wszystkimi danymi technicznymi,...

Wzorce Projektowe: Flyweight | .braindamage

Architektura 3520 dni, 17 godzin, 19 minut temu Paweł Łukasik 170 rozwiń

Agregacja (a.) i kompozycja (k.) są jednymi z najczęściej wykorzystywanych relacji w UML-owych diagramach klas. Są to specjalizacje asocjacji. Obie oznaczają, iż obiekty jednej z klas ("całość") zawierają referencję do obiektów drugiej klasy ("część"). Kompozycja jest właściwie jedynie silniejszą formą agregacji, w której obiekt zawierający ma pełną kontrolę nad obiektami zawieranymi. W szczególności, czas życia obiekty zawieranych jest limitowany czasem życia obiektu zawierającego.

Źródło: zine.net.pl
Dziel się z innymi:
Simon says... : [PL] Mentoring DDD: O agregacji i kompozycji (znowu) oraz asocjacji.

Programowanie rozproszone 3548 dni, 23 godziny, 9 minut temu Paweł Łukasik 36 rozwiń

W jaki sposób pokonać ograniczenia standardowego protokołu inwentarza usług, nie łamiąc przy tym zgodności ze standardami? Wzorzec Canonical Protocol zaleca wykorzystania jednego, standardowego, protokołu do komunikacji między usługami w ramach jednego inwentarza. Domyślnie oczywiście, protokołem tym są jakiegoś rodzaju usługi webowe (Basic WS, WS-*, REST), jednak nie jest to twarde wymaganie. Niezależnie od wyboru standardowego protokołu, mogą zdarzyć się sytuacje, kiedy jest on z jakichś przyczyn ni...

Źródło: zine.net.pl
Dziel się z innymi:
Simon says... : SOA Design Patterns: Dual Protocols

Programowanie rozproszone 3562 dni, 20 godzin, 10 minut temu Paweł Łukasik 27 rozwiń

W jaki sposób rozwiązanie oparte o usługi może dostarczyć interaktywny interfejs użytkownika? Rozwiązaniem jest specjalna usługa Mediatora, która jest umieszczana pomiędzy kodem interfejsu użytkownika, a rzeczywistą usługą dostarczającą funkcjonalności biznesowej. Mediator jest odpowiedzialny za dostarczanie użytkownikowi informacji o stanie zainicjowanego przez niego procesu oraz o wszelkich zdarzeniach występujących w trakcie jego działania. Mediator może być zrealizowany na dwa sposoby: jako sp...

Źródło: zine.net.pl
Dziel się z innymi:
Simon says... : SOA Design Patterns: UI Mediator

Programowanie rozproszone 3571 dni, 23 godziny, 57 minut temu Paweł Łukasik 38 rozwiń

W jaki sposób infrastruktura przechowująca stan usług może być skalowana i zabezpieczona przed awarią? Odpowiedzią na to pytania jest wzorzec Service Grid. Jego nazwa może być nieco myląca. Nie ma on bowiem nic wspólnego z gridami oraz raczej niewiele z usługami w klasycznym pojęciu SOA. Service Grid jest nazwą dla podejścia, w którym wiele instancji infrastruktury przechowującej stan usług jest równolegle aktywnych (zwykle na wilu fizycznych maszynach). Instancje te współdzielą między sobą informacje d...

Źródło: zine.net.pl
Dziel się z innymi:
Simon says... : SOA Design Patterns: Service Grid

Programowanie rozproszone 3571 dni, 17 godzin temu macko 36 rozwiń

W jaki sposób usługa bezstanowa może brać udział w interakcjach wymagających przechowywania stanu? Rozwiązaniem (jednym z wielu możliwych) jest przesyłanie informacji o stanie w wymienianych przez usługę komunikatach. Tradycyjne rozwiązanie problemu polega na przechowywaniu stanu w instancji usługi. Jego słabą stroną jest blokowanie zasobów serwera (głównie pamięci) przez tymczasowo nieaktywne instancji usługi czekające na dalszy ciąg interakcji. Jeśli nie możemy zrezygnować z przechowywania stanu ...

Źródło: zine.net.pl
Dziel się z innymi:
Simon says... : SOA Design Patterns: State Messaging

Programowanie rozproszone 3574 dni, 21 godzin, 35 minut temu Paweł Łukasik 22 rozwiń

Jest to wzorzec z grupy porządkujących logiczny warstwy inwentarza (?) [inventory] usług. Pozostałe dwa z tej grupy to Entity Abstraction i Process Abstraction. Wszystkie trzy wzorce pomagają zidentyfikować różne grupy odpowiedzialności w "kandydatach na usługi". Skutkuje to wydzieleniem współnych zakresów odpowiedzialności do nowych usług lub łączeniem usług odpowiadających za ten sam aspekt rozwiązania. Utility Abstraction zajmuje się konkretnie funkcjonalnością wykorzystywaną we wszystkich fragm...

Źródło: zine.net.pl
Dziel się z innymi:
Simon says... : SOA Design Patterns: Utility Abstraction

Programowanie rozproszone 3571 dni, 23 godziny, 57 minut temu Paweł Łukasik 32 rozwiń

Natknąłem się na kolejną ciekawą parę wzorców. W odróżnieniu od poprzednio opisywanej, tym razem para ma charakter dwóch konkurencyjnych rozwiązań tego samego problemu. To dla mnie interesująca nowość: do tej pory wzorce kojarzyły mi się z podejściem: problem - rozwiązanie (+ konsekwencje). W tym wypadku problem ma dwa równorzędne rozwiązania (przynajmniej tak wynika z lektury rozdziałów). No i wydaje mi się, że z tą równorzędnością jest problem... Direct Authentication zakłada, że każda usługa przech...

Źródło: zine.net.pl
Dziel się z innymi:
Simon says... : SOA Design Patterns: Direct vs Brokered Authentication

Programowanie rozproszone 3573 dni, 10 godzin, 43 minuty temu Paweł Łukasik 27 rozwiń

To właściwie dwa wzorce: Capability Composition oraz Capability Recomposition. Pierwszy z nich rozwiązuje problem usługi, która w celu wykonania swojego zadania potrzebueje logiki, która nie mieści się w jej zakresie odpowiedzialności. Aby problem rozwiązać, można poszerzyć zakres odpowiedzialności usługi, jednak prowadzi to do duplikacji logiki. Innym, lepszym i poprawnym, rozwiązaniem jest włączenie wywołania innej usługi jako elementu realizacji logiki tej pierwszej. Właściwie wydaje się to zup...

Źródło: zine.net.pl
Dziel się z innymi:
Simon says... : SOA Design Patterns: Capability (Re)composition

Programowanie rozproszone 3576 dni, 4 godziny, 52 minuty temu Paweł Łukasik 14 rozwiń

Postanowiłem robić notatki z książki. Może kogoś zachęcą lub zniechęcą do czytania. Celem wzorca Service Facade jest zmniejszenie powiązania między kontraktem usługi, a jej logiką. Oczywiście logiczne powiązanie logiki do kontraktu jest zjawiskiem jak najbardziej pozytywnym (powiązanie odwrotne jest negatywne, skutkuje zwykle wyciekiem technicznych szczegółów logiki do kontraktu i często jest wynikiem automagicznego generowania WSDL-a z kodu). Czasami jednak zmniejszenie stopnia powiązania logiki do k...

Źródło: zine.net.pl
Dziel się z innymi:
Simon says... : SOA Design Patterns: Service Facade

Programowanie rozproszone 3575 dni, 15 godzin, 10 minut temu Paweł Łukasik 44 rozwiń

Dżemik z egzotycznych owoców - Abstract Factory :) Zgodnie z zapowiedzią prezentuję własną interpretację jednego z zadań kończącego rozdział książki p.t. „C# 3.0 Design Patterns.”. Rozdział ten dotyczył wzorca projektowego „Abstract Factory”. Krótko o tworzeniu własnych typów generycznych w C# Zadanie, opis wzorca Implementujemy, produkujemy (jemy i sprzedajem ;))

Źródło: bloghellix.pl
Dziel się z innymi:
Dżemik z egzotycznych owoców - Abstract Factory :) «  blog by Hellix

Architektura 3633 dni, 14 godzin, 26 minut temu Paweł Łukasik 74 rozwiń

Omówienie Wzorców projektowych. Obecnie omówione zostały wzorce takie jak - Strategia, Dekorator, Metoda Szablonowa, Adapter, Stan, Pośrednik, Polecenie oraz Parametr zbiorczy wraz z przykładami w C#.

Piotrosz | wzorce projektowe

Architektura 3670 dni, 4 godziny, 55 minut temu Paweł Łukasik 268 rozwiń

1 2 3
Dodaj nowe Zobacz wszystkie

Najaktywniejsi

1

Paweł Łukasik (32 876,58)

2

macko (32 816,53)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,88)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 434,69)

8

Damian (9 760,28)

9

danielplawgo (8 223,27)

10

arek (6 822,96)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

dpawlukiewicz (3 997,56)

15

jj09 (3 863,06)

16

AdrianBystrek (3 595,16)

17

spetz (3 448,35)

18

jedmac (3 318,39)

19

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

20

KonradKokosa (3 090,4)