Hirdetés

Új hozzászólás Aktív témák

  • joysefke

    veterán

    LOGOUT blog

    válasz Keem1 #9972 üzenetére

    1,
    Mi az, hogy "keresztbe példányosítás"?
    Ha öröklődéssel hoznál létre egy körkörös dependenciát (származtatott osztály ugye függ az ősosztályától), azt kódszerkesztési időben észrevenné a VS és nem tudsz eljutni oda, hogy futni tudjon a kódod és kivételt kapj mivel le sem forg fordulni. Tehát nem ez a hiba.

    2,
    Tehát akarsz egy ilyet: SQLiteService :  CommonService { ...}

    Aztán paraméter nélküli konstruktorral szeretnéd példányosítani:

    SQLiteService()

    Itt kódszervezési probléma van. Az ASP Net Core fő szervezési koncepciója a Dependency Injection. Mivel user kódot írsz és itt most nincsenek egyéb megfontolások ezért ezt az esetedben konstruktorral történő injekciót kéne jelentsen.

    A Te SQLiteService osztályod azt állítja magáról, hogy ő nem függ senkitől és semmitől. Ami nonszensz.
    Próbáld ki, csinálj egy unit teszt projektet, add hozzá az ASPs projektedet mint függőség és próbáld meg unit tesztből példányosítani és használni SQLiteService -t.

    Nyilván nem fog menni, mert szükség lenne az SQLite fájl útvonálára minimum, ami viszont konfigurációból (illene) jöjjön.

    3,
    Loggolás ugyanez pepitában.

    ASP-ben a loggolás legegyszerűbb módja DI-jon keresztül van:
    Logging in .NET Core and ASP.NET Core | Microsoft Learn

    Szerintem az a baj, hogy a szervizeidben rejtett, implicit függőségek vannak amelyeket nem derítettél fel.

    [ Szerkesztve ]

Új hozzászólás Aktív témák