Megosztás a következőn keresztül:


A mikroszolgáltatási alkalmazásréteg és a webes API tervezése

Tipp.

Ez a tartalom egy részlet a .NET-alkalmazásokhoz készült .NET-alkalmazásokhoz készült eBook, .NET Microservices Architecture című eBookból, amely elérhető a .NET Docs-on vagy egy ingyenesen letölthető PDF-fájlként, amely offline módban is olvasható.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

SOLID-alapelvek és függőséginjektálás használata

A SOLID-alapelvek olyan kritikus technikák, amelyeket bármely modern és kritikus fontosságú alkalmazáshoz használni kell, például egy mikroszolgáltatás DDD-mintákkal való fejlesztéséhez. A SOLID egy rövidítés, amely öt alapelvet csoportosít:

  • Az önálló felelősség elve

  • Nyitott/zárt elv

  • Liskov helyettesítésének elve

  • Interfész szegregáció elve

  • Függőségi inverzió elve

A SOLID az alkalmazás vagy a mikroszolgáltatások belső rétegeinek tervezéséről és a függőségek elkülönítéséről szól. Ez nem a tartományhoz, hanem az alkalmazás műszaki kialakításához kapcsolódik. A végső elv, a Függőségi inverzió elv lehetővé teszi az infrastruktúraréteg leválasztását a többi rétegtől, ami lehetővé teszi a DDD-rétegek jobb leválasztását.

A függőséginjektálás (DI) az egyik módja a függőségi inverzió elvének megvalósításának. Ez egy technika az objektumok és függőségeik közötti laza összekapcsolás elérésére. Ahelyett, hogy közvetlenül példányosítanák az együttműködőket, vagy statikus hivatkozásokat használnak (azaz újakat használnak), az osztálynak a műveletek végrehajtásához szükséges objektumokat az osztálynak kell megadnia (vagy "injektálja") az osztálynak. Az osztályok leggyakrabban konstruktorukon keresztül deklarálják a függőségeiket, így az explicit függőségek elve szerint járnak el. A függőséginjektálás általában a vezérlő (IoC) tárolók adott inverzióján alapul. ASP.NET Core egyszerű beépített IoC-tárolót biztosít, de használhatja kedvenc IoC-tárolóját is, például az Autofac vagy a Ninject tárolót.

A SOLID alapelveinek követésével az osztályok természetesen kicsik, jól faktoráltak és könnyen tesztelhetők lesznek. De honnan tudhatja, hogy túl sok függőséget fecskendeznek-e be az osztályokba? Ha a konstruktoron keresztül használja a DI-t, ezt könnyen észlelheti a konstruktor paramétereinek számával. Ha túl sok függőség van, ez általában egy jel (egy kódszag), amelyet az osztály túl sokat próbál megtenni, és valószínűleg megsérti az egységes felelősség elvét.

Egy másik útmutatóra lenne szükség, amely részletesen ismerteti a SOLID-t. Ezért ez az útmutató megköveteli, hogy csak minimális ismeretekkel rendelkezzen ezekről a témakörökről.

További erőforrások