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.
Czytam http://www.alexrothenberg.com/2013/02/11/the-magic-behind-angularjs-dependency-injection.html i okazało się, że wtrysk zależności angularjs ma problemy jeśli zminimalizujesz swój javascript więc ja Zastanawiam się, czy zamiast var MyController = function($scope, $http) { $http.get('https://api.github.com/repos/angular/angular.js/commits') .then(function(response) { $scope.commits = response.data }) } powinieneś użyć var MyController = ['$scope', '$http', function($scope, $http) { $http.get('https://api.github.com/repos/angular/angular.js/commits') .then(function(response) { $scope.commits = …
Chciałbym przekazać wartości do konstruktora w klasie implementującej moją usługę. Jednak ServiceHost pozwala mi tylko przekazać nazwę typu do utworzenia, a nie jakie argumenty przekazać do jego kontrstruktora. Chciałbym móc przejść do fabryki, która tworzy mój obiekt usługowy. Co znalazłem do tej pory: Zachowanie iniekcji zależności WCF, które jest czymś …
Rozpoczynam nową aplikację desktopową i chcę ją zbudować przy użyciu MVVM i WPF. Zamierzam również skorzystać z TDD. Problem polega na tym, że nie wiem, jak powinienem użyć kontenera IoC, aby wstrzyknąć moje zależności w moim kodzie produkcyjnym. Załóżmy, że mam następującą klasę i interfejs: public interface IStorage { bool …
Mój zespół bada frameworki wstrzykiwania zależności i próbuje zdecydować między używaniem Google-Guice a PicoContainer. W naszym frameworku szukamy kilku rzeczy: Mały ślad kodu - przez mały ślad kodu mam na myśli to, że nie chcemy, aby wszędzie w naszej bazie kodu zaśmiecał kod iniekcji zależności. Jeśli potrzebujemy refaktoryzacji w przyszłości, …
Jak używać sztyletu? Jak skonfigurować Dagger do pracy w moim projekcie na Androida? Chciałbym użyć Daggera w moim projekcie na Androida, ale wydaje mi się to zagmatwane. EDYCJA: Dagger2 jest również dostępny od 15.04.2015 r. I jest jeszcze bardziej zagmatwany! [To pytanie jest „odgałęzieniem”, na którym dodaję do mojej odpowiedzi, …
Utworzyłem własną usługę i muszę wstrzyknąć doktrynę EntityManager, ale nie widzę, aby była __construct()ona wywoływana w mojej usłudze, a wstrzykiwanie nie działa. Oto kod i konfiguracje: <?php namespace Test\CommonBundle\Services; use Doctrine\ORM\EntityManager; class UserService { /** * * @var EntityManager */ protected $em; public function __constructor(EntityManager $entityManager) { var_dump($entityManager); exit(); // …
Wzorzec strategii i wstrzykiwanie zależności pozwalają nam ustawiać / wstrzykiwać obiekty w czasie wykonywania. Jaka jest różnica między wzorcem strategii a iniekcją zależności?
Używam szablonu kątowego do tworzenia struktury mojej aplikacji. Początkowo umieścić wszystkie moje kodu JavaScript w jednym pliku main.js. Ten plik zawierał moją deklarację modułu, kontrolery, dyrektywy, filtry i usługi. Aplikacja działa dobrze w ten sposób, ale martwię się o skalowalność i łatwość konserwacji, ponieważ moja aplikacja staje się bardziej złożona. …
Używam Unity firmy Microsoft do wstrzykiwania zależności i chcę zrobić coś takiego: IDataContext context = _unityContainer.Resolve<IDataContext>(); var repositoryA = _unityContainer.Resolve<IRepositoryA>(context); //Same instance of context var repositoryB = _unityContainer.Resolve<IRepositoryB>(context); //Same instance of context IDataContext context2 = _unityContainer.Resolve<IDataContext>(); //New instance var repositoryA2 = _unityContainer.Resolve<IRepositoryA>(context2); RepositoryAi RepositoryBoba mają konstruktor, który przyjmuje IDataContextparametr, i …
Mam składnik, który chcę @ComponentScanw szczególności wykluczyć @Configuration: @Component("foo") class Foo { ... } W przeciwnym razie wydaje się kolidować z inną klasą w moim projekcie. Nie do końca rozumiem kolizję, ale jeśli skomentuję @Componentadnotację, wszystko działa tak, jak chcę. Ale inne projekty, które opierają się na tej bibliotece, oczekują, …
Czy istnieje sposób na wstrzyknięcie późnej zależności do już załadowanego modułu kątowego? Oto o co mi chodzi: Załóżmy, że mam aplikację kątową obejmującą całą witrynę, zdefiniowaną jako: // in app.js var App = angular.module("App", []); I na każdej stronie: <html ng-app="App"> Później ponownie otwieram aplikację, aby dodać logikę w oparciu …
W jaki sposób identyfikujemy, kiedy należy użyć iniekcji zależności lub wzorca pojedynczego. Czytałem na wielu stronach internetowych, w których piszą „Użyj zastrzyku zależności zamiast wzorca pojedynczego”. Ale nie jestem pewien, czy całkowicie się z nimi zgadzam. W przypadku moich projektów na małą lub średnią skalę zdecydowanie widzę użycie wzorca pojedynczego. …
Powiedzmy, że mam moduł: Module extends AbstractModule { @Override protected void configure() { bind(String.class). annotatedWith(Names.named("annotation")). toInstance("DELIRIOUS"); } } i chcę przetestować moduł i sprawdzić, czy wstrzykuje właściwą wartość w Stringpolu z adnotacją Names.named("annotation")bez posiadania klasy i pola, ale uzyskując wartość bezpośrednio z wtryskiwacza: @Test public void test() { Injector injector …
Na pytanie o Dependency Injection w Scali, sporo odpowiedzi wskazuje na używanie Reader Monad, albo tej ze Scalaz, albo po prostu rozwijanie własnej. Jest wiele bardzo jasnych artykułów opisujących podstawy tego podejścia (np. Wykład Runara , blog Jasona ), ale nie udało mi się znaleźć bardziej kompletnego przykładu i nie …
Wprowadzenie W przypadku języka Java Dependency Injection działa jako czysty OOP, tj. Udostępniasz interfejs do zaimplementowania, aw kodzie struktury akceptujesz instancję klasy, która implementuje zdefiniowany interfejs. Teraz w przypadku Pythona możesz zrobić to samo, ale myślę, że ta metoda była zbyt dużym narzutem w przypadku Pythona. Jak więc zaimplementowałbyś to …
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.