Objektově Orientované Návrhové Vzory vysvětlil pomocí praktických příkladů

0 Comments

Vzorce Chování

Tyto typy vzor se týká komunikace mezi objekty. Ve většině případů jsou závislosti mezi komunikujícími objekty prostřednictvím těchto vzorů sníženy, což vede k lepšímu návrhu softwaru.

řetězec odpovědnosti

tento vzor vytváří řetězec objektů přijímače pro požadavek. Vyhýbá se spojování odesílatele žádosti s přijímačem a dává více objektům šanci zvládnout požadavek. Přijímací objekty jsou spojeny dohromady., V příkladu níže je vytvořen řetězec middleware jednotek. Žádost obsahující e-mail a heslo je předána v řetězci. Nové prvky v řetězci lze snadno přidat.

Příkaz

V příkazovém vzor objektu se používá k zapouzdření všechny informace potřebné pro provedení akce nebo aktivační událost, na pozdější dobu. Jak je uvedeno níže, Akceopen definuje akci, stejně jako objekt, na kterém je akce provedena., Více informací není potřeba a další objekt, zde menu, může provést akci.

Interpret

Tlumočník vzor definuje zastoupení pro gramatiku jazyka a poskytuje schopnost interpretace vět daného jazyka. V úryvku kódu pod objektem Plus lze interpretovat „operand1 + operand2“ a ví, co s tímto výrazem dělat. Další tlumočníci mohou být přidány bez změny struktury příliš mnoho. Analyzátor pak používá tlumočníky k pochopení vstupu.,

Iterátor

Iterátor se používá k otáčení nádoby údajů pro přístup k nádobě je prvků bez nutnosti znát základní strukturu. Také mohou být přidány nové varianty traversal bez změny rozhraní objektů nebo samotné datové struktury.
ChannelSurfer, zobrazený níže, může přistupovat k kanálům po sobě jdoucím způsobem. Objekt RemoteControl se nemusí starat o to, jak jsou kanály organizovány. RandomChannelSurfer, například, může být přidán bez větších problémů.,

Prostředník

Pokud se dva nebo více objektů, které potřebují spolupracovat, Mediátor vzor může být aplikován. Zvláště pokud se objekty navzájem neznají, pokud by neměly být pevně spojeny nebo jejich interakce je složitá, může tento vzor pomoci.
v níže uvedeném příkladu existuje určitá interakce mezi prvky uživatelského rozhraní. Tato interakce probíhá prostřednictvím Ověřenídialog jako mediátor. Tímto způsobem není interakce definována v jednom ze zúčastněných objektů, ale extrahována do mediátoru.,

Memento

Memento vzor je užitečné, pokud určitém stavu objektu by měly být uloženy pro pozdější použití. Tím neporušuje zapouzdření detailů implementace tohoto objektu. Může být například použit pro implementaci mechanismu zpět.

Observer

V observer pattern observer objekty se přihlásit k odběru pozorovatelný objekt, které mají být upozorněni pokaždé, když pozorovatelné změny svých údajů., Pozorovatelé jsou volně spřaženi a mohou být přidáni a odstraněni za běhu.
pokud jde o to, jak pozorovatel konečně získá data z pozorovatelných, existují dvě varianty: push a pull. Níže uvedený kód ukazuje variantu tahu, která je flexibilnější, protože v tomto případě pozorovatel nemusí vědět, jak chce pozorovatel přijímat data, ale pozorovatel může načíst data podle přání.

Stát vzorem umožňuje objektu měnit své chování, když jeho vnitřní stav změní., Tento vzor je podobný strategickému vzoru, ale v tomto případě je vnitřně rozhodnuto, jak se objekty chovají. To je zvláště užitečné, pokud složité podmínky definují, jak by se měl objekt chovat. Nové státy mohou být přidány nezávisle na stávajících státech.

Strategie

V rámci Strategie vzor, existuje více variant pro jeden algoritmus, kde jedna varianta je vybrán, aby být proveden za běhu.,
v níže uvedeném příkladu lze objekt kompresoru použít s jedním ze dvou různých algoritmů definovaných za běhu. Metoda, která provede akci (vytvořitarchive) pak použije zvolený algoritmus.

Šablony

Šablony vzor definuje strukturu pro sub třídách, v nichž kroky algoritmu a jejich pořadí jsou definovány. Tím je zajištěno, že dílčí třídy sledují přesně stejné kroky a poskytují lepší přehled a konzistenci., To také umožňuje definovat výchozí implementace pro kroky, které mohou být přepsány podtřídy.
Jak je uvedeno níže Všechny analyzátory dědí z DataParser postupujte přesně stejné kroky, když je provedena parse (). Tím je například zajištěno, že všechny analyzátory soubory uzavřou a zaznamenají stav.

Návštěvník

Návštěvník vzor umožňuje použít jednu nebo více operací na množině objektů v run-time bez nutnosti operace pevně spojen s objektem struktury.,
To vám umožní implementovat dvojité odeslání, kde volání funkce na různé konkrétní funkce závisí na typu run-time dvou objektů. V níže uvedeném příkladu na jedné straně jsou prvky trasy a na druhé straně objekty návštěvníka, z nichž každý provádí různé funkce na prvcích trasy. Pokud je v budoucnu přidáno více návštěvníků, prvek trasy se nemusí měnit.


Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *