Sobes.tech
Senior

Aké sú prístupy k zavádzaniu do jadra?

sobes.tech AI

Odpoveď od AI

Existujú nasledujúce hlavné prístupy k injektáži závislostí do jadra aplikácie:

  • Injektáž cez konštruktor (Constructor Injection): Závislosti sa odovzdávajú ako parametre konštruktora triedy. Ide o najodporúčanejší prístup, pretože robí závislosti jasnými a núti triedu prijímať všetky potrebné závislosti pri jej vytváraní.

    public class MyService
    {
        private readonly IDependency _dependency;
    
        public MyService(IDependency dependency)
        {
            _dependency = dependency;
        }
    
        public void DoWork()
        {
            _dependency.Execute();
        }
    }
    
  • Injektáž cez vlastnosti (Property Injection): Závislosti sú priradené verejným vlastnostiam triedy. Menej odporúčané, pretože závislosti môžu byť voliteľné, čo sťažuje pochopenie potrebných komponentov triedy. Často sa používa pre voliteľné závislosti alebo v kombinácii s inými prístupmi.

    public class AnotherService
    {
        public IDependency Dependency { get; set; }
    
        public void DoWork()
        {
            Dependency?.Execute(); // kontrola na null je dôležitá
        }
    }
    
  • Injektáž cez argumenty metódy (Method Injection): Závislosti sú odovzdávané ako parametre konkrétnej metódy. Vhodné, keď je závislosť potrebná iba na vykonanie určitej operácie.

    public class YetAnotherService
    {
        public void DoWork(IDependency dependency)
        {
            dependency.Execute();
        }
    }
    

Výber prístupu závisí od povahy závislosti a kontextu použitia triedy. Injektáž cez konštruktor je štandardom pre povinné závislosti.