Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Widzę w wielu...
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Widzę w wielu...
Jestem nowy w zastrzykach zależności i mam kilka pytań na temat tego, jaki styl powinienem zastosować w swoich aplikacjach. Właśnie przeczytałem Inversion of Control Containers i wzorzec Dependency Injection autorstwa Martina Fowlera, ale nie mogę dostrzec praktycznej różnicy między konstruktorem,...
Załóżmy, że mam ten, Servicektóry odbiera zależności za pośrednictwem konstruktora, ale przed użyciem można go także zainicjować za pomocą niestandardowych danych (kontekstu): public interface IService { void Initialize(Context context); void DoSomething(); void DoOtherThing(); } public class...
Uczę się tylko o wstrzykiwaniu zależności i utknąłem na czymś. Dependency Injection zaleca wysyłanie klas zależnych przez konstruktor, ale zastanawiam się, czy jest to konieczne w przypadku obiektów danych. Ponieważ testowanie jednostkowe jest jedną z głównych zalet DI, czy obiekt danych, który...
Widziałem, jak Raymond Hettinger Pycon mówi „Super uważany za super” i dowiedziałem się trochę o MRO Pythona (Order Resolution Order), który deterministycznie interpretuje klasy „nadrzędne”. Możemy to wykorzystać na naszą korzyść, tak jak w poniższym kodzie, aby wykonać wstrzyknięcie zależności....
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 4 lata temu . Zastanawiałem się...
Na przykład: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Ponieważ klasa Duck zawiera wszystkie zachowania (abstrakcyjne), tworzenie nowej klasy...
Rozważ moduł odpowiedzialny za parsowanie plików dowolnego typu. Zastanawiam się nad wykorzystaniem wzorca strategii do rozwiązania tego problemu, jak już tu wyjaśniłem . Przed przejściem do tego pytania zapoznaj się z połączonym postem. Rozważ klasę B, która potrzebuje zawartości pliku...
Mam teraz do czynienia z integracją kontenera inwersji sterowania (IoC) z istniejącą aplikacją i szukam rekomendacji, w jaki sposób można to najłatwiej osiągnąć z ostatecznym celem zmniejszenia sprzężenia, a tym samym zwiększenia testowalności. Chociaż generalnie nie klasyfikowałbym większości klas...
Mam wiele samochodów w mojej aplikacji C ++, wszystkie zawarte w RaceTrack. Każdy samochód składa się z setek części. Każda część zależy od innej części lub dwóch. Przeczytałem wiele pytań SO na temat książki DI i Marka Seemanna i wygląda na to, że nie powinienem definiować klasy samochodów tylko...
Kiedy po raz pierwszy dowiedziałem się o Domain Driven Design, zapoznałem się również z repozytorium i wzorcami jednostek pracy, które kiedyś wydawały się być na najwyższym poziomie dla fajnych dzieciaków, które rzucały zapytania SQL, takie jak jaskiniowcy, na bazy danych. Im bardziej zagłębiłem...
Przez ostatni rok pracowałem nad serią aplikacji opartych na frameworku Zend i koncentrowałem się na złożonej logice biznesowej, do której wszystkie aplikacje muszą mieć dostęp, nawet jeśli nie używają wszystkich (łatwiej niż mieć wiele folderów bibliotecznych dla każdego aplikacji, ponieważ...
Niedawno przeczytałem o @ImplementedByadnotacjach dostępnych w Google Guice . Pozwala programiście określić powiązanie między interfejsem a jego implementacją do wykorzystania w przyszłości we wstrzykiwaniu zależności. Jest to przykład wiązania just-in-time . Jestem przyzwyczajony do definiowania...
Proste pytanie: Rozumiem, że serializacja w języku C # wymaga domyślnych konstruktorów. Wykluczałoby to możliwość użycia DI wstrzykniętego przez konstruktora (co jest moim zdaniem ulubionym stylem DI, w moim czytaniu [potrzebne źródło] ). Czy to naprawdę jest sytuacja albo, czy coś mi...
Mam wiele podstawowych klas, które wymagają ISessionContext bazy danych, ILogManager dla dziennika i IService używane do komunikacji z innymi usługami. Chcę użyć wstrzykiwania zależności dla tej klasy używanej przez wszystkie podstawowe klasy. Mam dwie możliwe implementacje. Klasa podstawowa,...
W tym tygodniu zastanawiałem się nad użyciem frameworku Typhoon do wstrzykiwania zależności. Rozumiem, że rozdzielenie konstrukcji obiektów jest korzystne w przypadku zastępowania dowolnych komponentów próbkami podczas testów jednostkowych i do tej pory widziałem same korzyści. Ale nie mogę...
Lubię, aby mój kod był testowalny i zdecydowałem się na strategię Dependency-Injection dla mojego obecnego frameworka MVC, który zdecydowanie okazał się świetnym sposobem na zapewnienie luźno powiązanego kodu, testowalności i modułowości. Ale ponieważ jestem dalekim od mistrza we wzorcach...
Używam Unity w języku C # do wstrzykiwania zależności, ale pytanie powinno mieć zastosowanie do każdego języka i struktury używającej wstrzykiwania zależności. Staram się przestrzegać zasady SOLID, dlatego otrzymałem wiele abstrakcji. Ale teraz zastanawiam się, czy istnieje najlepsza praktyka dla...
Mam dużą bazę kodową z wieloma singletonami „anty-wzorcowymi”, klasami użyteczności z metodami statycznymi i klasami tworzącymi własne zależności za pomocą newsłowa kluczowego. To bardzo utrudnia testowanie kodu. Chcę stopniowo migrować kod do kontenera wstrzykiwania zależności (w moim przypadku...
Problem Ostatnio dużo czytałem o tym, że Singletony są złe i jak lepsze jest wstrzykiwanie zależności (które rozumiem jako „używanie interfejsów”). Kiedy zaimplementowałem część tego z wywołaniami zwrotnymi / interfejsami / DI i przestrzegając zasady segregacji interfejsu, skończyło się to dość...