Wzorzec projektowy mający na celu zmniejszenie sprzężeń między komponentami poprzez dynamiczne wprowadzanie do komponentu oprogramowania zależności, których potrzebuje on do działania.
Rozumiem koncepcję DI, ale dopiero uczę się, co mogą zrobić różne kontenery IoC. Wygląda na to, że większość ludzi opowiada się za używaniem kontenerów IoC do łączenia usług bezstanowych, ale co z używaniem ich do obiektów stanowych, takich jak encje? Niezależnie od tego, czy jest to dobre, czy złe, zwykle …
Miałem zwyczaj przekazywania loggera do konstruktora, na przykład: public class OrderService : IOrderService { public OrderService(ILogger logger) { } } Ale to dość denerwujące, więc od jakiegoś czasu używam tej właściwości: private ILogger logger = NullLogger.Instance; public ILogger Logger { get { return logger; } set { logger = value; …
Patrzyłem na wiele samouczków i pytań SO (takich jak Ustawienia aplikacji .Net Core ) dotyczących czytania appsettings.json w .Net Core 3 i nie mogę znaleźć żadnych wskazówek na temat tego, jak radzić sobie z usługą Worker. Nie ma metody uruchamiania. Zamiast tego mam Program.cs z główną metodą: public class Program …
Mam dwa projekty Angular wykorzystujące te wersje: 9.0.0-next.6 8.1.0 W wersji 9 użyłem tego, aby dostarczyć i wstrzyknąć windowobiekt: @NgModule({ providers: [ { provide: Window, useValue: window }, ] }) export class TestComponent implements OnInit { constructor(@Inject(Window) private window: Window) } Które działa dobrze. Takie podejście do wersji 8 generowało …
Mam projekt ASP.NET Core 3.1. Zazwyczaj rejestruję dowolną zależność za pomocą ConfigureServices()metody w Startup.csklasie. Ale muszę zarejestrować wiele zależności i ConfigureServices()wygląda to olbrzymie! Wiem, że prawdopodobnie mogę utworzyć metodę rozszerzenia metody statycznej i wywołać ją z klasy ConfigureService () `, ale zastanawiam się, czy istnieje lepszy sposób. Jeśli istnieje sposób …
To, co zwykle robię w swoich aplikacjach, to to, że tworzę wszystkie moje usługi / dao / repo / klientów przy użyciu metod fabrycznych class Service: def init(self, db): self._db = db @classmethod def from_env(cls): return cls(db=PostgresDatabase.from_env()) A kiedy tworzę aplikację, robię service = Service.from_env() co tworzy wszystkie zależności aw …
Zwykle w projekcie .NET Core stworzyłbym klasę „boostrap”, aby skonfigurować moją usługę wraz z poleceniami rejestracji DI. Zazwyczaj jest to metoda rozszerzenia, w IServiceCollectionktórej mogę wywołać metodę podobną .AddCosmosDbServicei wszystko, co niezbędne, jest „samodzielne” w klasie statycznej zawierającej tę metodę. Kluczem jest jednak, że metoda pobiera IConfigurationz Startupklasy. Pracowałem z …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.