Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Návod
Tento obsah je výňatek z eBooku, architektury mikroslužeb .NET pro kontejnerizované aplikace .NET, které jsou k dispozici na .NET Docs nebo jako zdarma ke stažení PDF, které lze číst offline.
Použití principů SOLID a injektáž závislostí
Principy SOLID jsou kritické techniky, které se mají použít v jakékoli moderní a klíčové aplikaci, jako je vývoj mikroslužby se vzory DDD. SOLID je zkratka, která seskupuje pět základních principů:
Princip jednotné odpovědnosti
Princip otevření/uzavření
Princip substituce Liskov
Princip oddělení rozhraní
Princip inverze závislostí
Solid je další informace o tom, jak navrhnout interní vrstvy aplikace nebo mikroslužby a jak oddělit závislosti mezi nimi. Nesouvisí s doménou, ale s technickým návrhem aplikace. Poslední princip, princip Inverze závislostí, umožňuje oddělit vrstvu infrastruktury od zbytku vrstev, což umožňuje lepší odpojenou implementaci vrstev DDD.
Injektáž závislostí (DI) je jedním ze způsobů implementace inverze závislostí. Jedná se o techniku pro dosažení volné vazby mezi objekty a jejich závislostmi. Místo přímé vytvoření instance spolupracovníků nebo použití statických odkazů (tj. pomocí nového...) jsou objekty, které třída potřebuje k provedení svých akcí, poskytnuty (nebo "vložené do") třídy. Třídy nejčastěji deklarují své závislosti prostřednictvím jejich konstruktoru, což jim umožní dodržovat explicitní závislosti princip. Závislostní injekce je obvykle založena na specifických IoC kontejnerech. ASP.NET Core poskytuje jednoduchý integrovaný kontejner IoC, ale můžete také použít svůj oblíbený kontejner IoC, jako je Autofac nebo Ninject.
Dodržováním principů SOLID budou vaše třídy přirozeně malé, dobře faktorované a snadno testované. Jak ale můžete zjistit, zda do vašich tříd není vkládáno příliš mnoho závislostí? Pokud použijete DI prostřednictvím konstruktoru, snadno poznáte, že podle počtu parametrů konstruktoru. Pokud existuje příliš mnoho závislostí, obvykle se jedná o znaménko ( zápach kódu), že se vaše třída snaží udělat příliš mnoho a pravděpodobně porušuje princip single responsibility.
Byl by potřeba další průvodce, aby podrobně pokryl SOLID. Proto tato příručka vyžaduje, abyste měli pouze minimální znalosti těchto témat.
Dodatečné zdroje
SOLID: Základní principy OOP
https://deviq.com/solid/Inverze řídícího kontejneru a vzor vstřikování závislostí
https://martinfowler.com/articles/injection.htmlSteve Smith. Nové je pojítko
https://ardalis.com/new-is-glue