dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem design patterns

Chciałem przypomnieć prezentację Pawła Łukasika zatytułowaną Kurs programowania w C# – 24. Wzorce projektowe, która została nagrana 1,5 roku temu na VirtualStudy. Dużo się z niej nauczyłem zwłaszcza o antyzworcach. Ostatecznie pytanie o wzorce na pewno pojawi się na rozmowie o pracę, jeśli ktoś ma wątpliwości czy warto. Chociaż fakt lepszego zrozumienia jednego z najważniejszych pojęć powinien wystarczyć. Poniższy ry...

Wzorce i antywzorce projektowe w C# | Show me the code

Sztuka programowania 1240 dni, 16 godzin, 35 minut temu http://pawlos.blogspot.com/ 618 rozwiń

by MJ Decorator is a design pattern used to dynamically ”decorate” (e.g. add new actions) another classes. Let’s say that you have class which describes Window. It can be opened or closed. Then, you decide to decorate it with curtains or to clean it – you  will do it yourself or hire somebody, who will be a decorator. Let’s create a simple project: 1) First of all, you need to add “Decorator” folder. Inside of this folder please create Window.cs class which will describe our window in the real world...

[EN] World of IT | Design Patterns – Decorator

Architektura 1283 dni, 12 godzin, 13 minut temu jedmac 160 rozwiń

by MJ Prototype design pattern. You should use it whenever you need to clone model classes. A simple example is when you have 1000 clients and you need to provide them invoices. Then, you only need to change e,g, names, surnames and total amount – you don’t need to create another invoice from the beginning. Again, the same situation is when your class is a parent for other classes – in this situation, it is not easy to create new – you should clone existing instance and then try to modify it. Here is a...

[EN] World of IT | DESIGN PATTERNS – PROTOTYPE

Architektura 1283 dni, 19 godzin, 1 minutę temu jedmac 117 rozwiń

by MJ Facade is one of design patterns which are used most frequently. To explain what it is and how to use it, we can compare it to a black box. In black box test, tester is only allowed to create the input and get the output. He doesn’t know anything about processing inside of the system. You will meet similar situation in Facade – you don’t want to show out the whole functionality, you need to create some kind of interface which enables user to use the functonality, but he  cannot look into the syste...

[EN] World of IT | Design Patterns – Facade

Architektura 1288 dni, 7 godzin, 44 minuty temu jedmac 175 rozwiń

Posted by slanto on Zastosowanie wzorca Decorator na przykładzie produktu i ofert specjalnych. Wzorzec ten pozwala nam na dynamiczną zmianę/rozszerzanie zachowania istniejących klas.

Dziel się z innymi:
Decorator Pattern | Zapiski programisty .net

Architektura 1798 dni, 19 godzin, 49 minut temu http://slanto.myopenid.com/ 263 rozwiń

O to jest pytanie. Używać czy nie używać Repository Pattern? Ostatnio troszkę się nad tym zastanawiałem i doszedłem do solidnego wniosku: tak i nie. :) Wiadomo, że ktoś zawsze powie: "to zależy". A ja mu przytaknę. W malutkim projekcie nie ma sensu. W większym? Chcąc być purystą powinienem zrealizować cały dostęp do danych poprzez wartwę realizowaną na bazie Repository Pattern. Czy to ma sens? Co jeśli chcę tylko wyciągnąć imię i nazwisko ostatnio dodanego użytkownika? Czy na prawdę muszę pisać te wszys...

Źródło: dario-g.com
Dziel się z innymi:
Dario-G | Używać czy nie używać Respository Pattern?

Architektura 1891 dni, 1 godzinę, 11 minut temu http://pawlos.blogspot.com/ 262 rozwiń

NULL Object Pattern (Special Case)

Dziel się z innymi:
NULL Object Pattern (Special Case)

Architektura 1961 dni, 17 godzin, 50 minut temu pzielinski 181 rozwiń

Tak mnie wzięło na wzorce projektowe ostatnimi czasy, dzisiaj coś o o odwiedzającym (wizytatorze). Polska Wikipedia mówi o nim tak odwiedzający.

jsthedeveloper: Wzorce: Odwiedzający / Wizytator

Architektura 2145 dni, 12 godzin, 43 minuty temu http://pawlos.blogspot.com/ 251 rozwiń

Przeglądając wpisy na rożnych blogach oraz biorąc udział w dyskusjach na portalach,  częstokroć napotykałem na dyskusje jak prawidłowo zaimplementować wzorzec singletona. Jeden z częstszych podawanych przykładów prezentuje poniżej.public sealed class Singleton { static Singleton instance=null; static readonly object padlock = new object(); Singleton() { } public static Singleton Instance { get { if (instance==null) { lock ...

Dziel się z innymi:
Wzorzec Singletona dla C# | Łukasz Byczyński

Programowanie rozproszone 28 października 2009 21:41:45 GMT LukaszByczynski 76 spam? rozwiń

Autor: Przypadkiem trafiłem na fajny cheetsheet zawierający zestawienie podstawowych  wzorców projektowych, może się komuś przyda :)

Źródło: dario-g.com
Dziel się z innymi:
Design Pattern - podstawowe wzorce na jednej karcie - Dario-G - programista, projektant

Architektura 2746 dni, 10 godzin, 21 minut temu macko 362 rozwiń

Na dzisiaj wzorzec prosty i przyjemny: State(Stan). Jak sama nazwa wskazuje służy on do radzenia sobie z wszelkimi sytuacjami, gdzie występują pewne stany, od których zależy to, co zostanie wykonane w ramach operacji. Weźmy pod uwagę przykład znany wszystkim(aczkolwiek rozpaczliwie uproszczony): winda, a konkretnie jej drzwi.

Źródło: www.bdamage.pl
Dziel się z innymi:
Wzorce Projektowe : State | .braindamage

Architektura 2777 dni, 11 godzin, 13 minut temu mojzesz 122 rozwiń

Po napisaniu poprzedniego artykułu o podstawach wzorca MVP zastanawiałem się co więcej można przekazać w tym temacie. Myślałem, myślałem i jakoś nie mogłem wymyślić mimo, że jest o czym pisać. Poszedłem w innym kierunku i postanowiłem po prostu rozbudować troszkę wcześniej przedstawiony przykład. Pomysł na temat przyszedł sam. Szybko zauważyłem, że w rzeczywistej aplikacji przedstawione przeze mnie podejście nie miało by szans bytu...

Dziel się z innymi:
MVP cz. 2 - ulepszamy widoki - DM’s blog

Web 2779 dni, 19 godzin, 13 minut temu http://pawlos.blogspot.com/ 160 rozwiń

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 2789 dni, 8 godzin, 57 minut temu http://pawlos.blogspot.com/ 164 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.

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

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 2840 dni, 15 godzin, 34 minuty temu http://pawlos.blogspot.com/ 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 2840 dni, 8 godzin, 37 minut temu macko 35 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

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 2840 dni, 15 godzin, 34 minuty temu http://pawlos.blogspot.com/ 31 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
1 2 3
Szkolenia SecurITum

kwiecień

26.
CodeEurope
Kraków

maj

17.
InfoShare
Gdańsk
23.
CodeEurope
Wrocław
Zobacz wszystkie

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 603,45)

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,88)

8

Damian (9 041,08)

9

danielplawgo (7 235,99)

10

arek (6 807,91)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 578,06)

15

jedmac (3 313,39)

16

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

17

CaMeL (2 954,87)

18

spetz (2 783,21)

19

mnikolajuk (2 596,93)

20

lkurzyniec (2 590,68)