Publicații conexe 'inversion-of-control'


Injecție de dependență în JavaScript
Injecție de dependență în JavaScript Implementarea Constructor Injection cu ajutorul proxy-urilor JavaScript Eliminați dependențele codificate în cod și oferiți strategii interschimbabile pentru algoritmi prin injectarea dependențelor folosind o inversare a containerului de control. Actualizare 30 martie 2023: acest articol a fost mutat pe site-ul meu personal. Veți găsi cele mai recente actualizări ale acestui articol la https:// thorsten.suckow-homberg.de..

Inversarea controlului cu exemple reale React și Javascript
Inversarea controlului (IoC) este un principiu de proiectare care permite claselor să fie ușor cuplate și, prin urmare, mai ușor de testat și întreținut . Într-o definiție simplă, obiectele nu creează alte obiecte pe care se bazează pentru a-și face munca. În schimb, ei obțin obiectele de care au nevoie dintr-o sursă externă. Acesta este un principiu de design foarte frumos (și probabil cea mai bună practică) pe care juniorii tind să-l ignore. Mai ales atunci când proiectați..

JavaScript Vanilla testabil
Fiecare dezvoltator de software a fost în acest loc: li se cere să adauge o caracteristică unică care pare inofensivă, se înglobează într-o serie de caracteristici interconectate și, văzând-o după numeroase evoluții, și-ar fi dorit să o fi scris diferit. „Dacă mi s-ar fi spus de ce această funcție a fost dorită, aș fi folosit un cadru.” „Dacă aș fi știut cât de importantă este această caracteristică pentru clientul meu, aș fi făcut-o mai testabilă.” Aceasta este lupta de iterare,..

Întrebări înrudite 'inversion-of-control'

Container Windsor: Cum să forțați să aruncați un obiect?
Am un obiect care implementează IDisposable care este înregistrat cu Windsor Container și aș dori să-l debarasez, așa că se apelează metoda Dispose și data viitoare când se apelează Resolve, preia o instanță nouă. Face container.Release(obj);...
9641 vederi

Fabrica tip Windsor nu eliberează copii
Am o fabrică și o componentă înregistrată în Windsor 2.5.1 astfel: interface IFooFactory{ IFoo CreateFoo(); } interface IFoo { void DoSomething(); } class ConcreteFoo : IFoo, IDisposable { public void Dispose(){ Log.info("Going...
443 vederi
schedule 22.08.2022

iPOJO: spațiu de nume unic al identificatorului pentru @Publishes și @Subscriber
construiesc unele componente folosind iPOJO minunații de gestionare EventAdmin . documentația necesită un atribut de nume pentru editori și abonați, acționând ca un „identificator unic”. care este domeniul de aplicare în care este aplicată...
84 vederi

Serviciu DI fără servicii dependente
Am lucrat cu Ninject pentru a implementa o aplicație folosind injecția de dependență. Simt că am o înțelegere destul de aprofundată a conceptelor și mi-a plăcut foarte mult arhitectura slab cuplată și testabilă pe care a obținut-o aplicația folosind...
96 vederi

Pot defini atribute personalizate pentru tipul de proxy în Castle Windsor
Am o clasă pe care o proxy cu Castle Dynamic Proxy. Vreau să adaug câteva atribute personalizate la metodele proxy (care nu sunt definite în clasa proxy). Este posibil. Vreau acest lucru pentru că vreau să generez stratul ASP.NET Web API pentru...
731 vederi

Container DI și MVC personalizat
Am construit un cadru PHP MVC intern și acum mă chinui să implementez DI Container. Am adoptat Pimple ca DiC, am citit cartea lui Chris Hartjes " Ghidul Programatorului Grumpy pentru Construirea de aplicații PHP testabile " (care mi se pare o...
1053 vederi

Arhitectura/compoziția aplicației în F#
Am făcut SOLID în C# la un nivel destul de extrem în ultima vreme și la un moment dat mi-am dat seama că, în esență, nu fac altceva decât să compun funcții în zilele noastre. Și după ce am început recent să mă uit din nou la F#, m-am gândit că ar fi...
5718 vederi

Cum să localizați serviciile bazate pe id (model de localizare a serviciilor)?
Am servicii diferite, fiecare are tipuri diferite. De exemplu, UpdateService are trei tipuri diferite (HighFreq, MediumFreq, MinFreq). Am făcut o enumerare pentru serviciile mele și tipurile mele, de exemplu: public enum UpdateServiceType:...
166 vederi

NUnit continuă să ruleze versiunea greșită a unui .dll
Folosesc rulerul de testare NUnit 2.6.4. Rulez dintr-un fișier proiect .nunit care încarcă testul meu .csproj. Continuă să ruleze versiunea greșită a unei dependențe. Context: Am castel Windsor 3.3 folosind facilitatea NLog. Folosesc NLog 3.2....
665 vederi

API web Asp.net cu unitate Tipul String nu poate fi construit
Bună, creez o API web cu Unity dll și când integrez aceasta prima dată m-am confruntat Nu s-a putut încărca fișierul sau ansamblul „System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” sau una dintre dependențele...
1375 vederi

Container IoC - Înregistrarea componentelor instanței
Întrebarea mea se referă la înregistrarea instanței într-un container Autofac IOC. În unele cazuri, este posibil să doriți să pregenerați o instanță a unui obiect și să o adăugați în container pentru a fi utilizată de componentele înregistrate....
52 vederi

Cum se configurează Castle Windsor pentru a crea o implementare diferită pentru o interfață bazată pe un parametru
Am urmatorul cod: class A:IA { } class B:IA { } si am class X { X( IA a) { } } și class Y { Y( IA b) { } } Vreau ca atunci când X este creat implementarea pentru IA să fie A și când este creată Y...
99 vederi
schedule 01.10.2022

Cum se rezolvă serviciul în funcție de tipul de serviciu folosind ServiceLocator?
Rezolvam serviciul folosind astfel ServiceProvider.GetService<T>() . Dar apoi am descoperit că Rezolving Scoped Serivices primea o eroare de rulare în timpul apelării metodei ServiceProvider.GetService<T>() Spune serviciul nu a fost...
167 vederi

Castle Windsor: Cum adaugi un apel la o fabrică care nu este în xml?
Știu cum să îi spun lui Castle Windsor să rezolve o referință dintr-o metodă dintr-o fabrică folosind XML, dar pot să o fac programatic prin interfața Container.AddComponent()? Dacă nu, există vreo altă modalitate de a face acest lucru din cod?...
2361 vederi

Utilizarea containerului IoC ca localizator de servicii pentru HttpHandler
Această întrebare se referă la cealaltă postare a mea. Ok, așa că, după mai multă bătaie de cap, am decis să o fac așa. Ceea ce pare să funcționeze bine când îl rulez, deși primesc următoarea eroare în NUnit: Nu s-a putut încărca fișierul sau...
1000 vederi

Tapestry gestionează toate firele din interiorul aplicației?
Luați în considerare serviciul, care începe cu thread în interiorul acestuia. Va Tapestry 5 gestiona acest thread în parte, de ex. închiderea a hibernate sesiuni într-un astfel de thread sau nu? (De exemplu, putem trece obiectul Session în...
207 vederi

Crearea de obiecte runtime cu Unity Container
Am o aplicație winforms existentă pe care încerc să o reprocesez pentru a utiliza acum Unity ca container, în loc să trebuiască manual să creez obiecte peste tot. Momentan lucrurile nu stau prea rău, dar vom extinde programul și fără Unity văd că...
77 vederi

Furnizor de instanțe personalizate pentru fabrica Ninject
Am următoarele două interfețe: public interface ILogger {} public interface ILoggerFactory {} ILoggerFactory conține o metodă GetLogger care ia Type din clasa apelantă ca parametru și returnează o instanță logger care implementează...
646 vederi

Symfony - Clasele Wrapper/Helper care au acces la depozitul entității
Bine, deci convertesc un mic proiect laravel la symfony (va deveni mai mare, iar arhitectura de grupare folosită de symfony va fi ideală) Se pare că sunt răsfățat de fațadele laravel și de lucrul elocvent cu bazele de date existente aproape imediat...
1314 vederi

Posibilități de utilizare a fabricilor abstracte cu StructureMap
public interface IExecuter { void Execute(); } public class Executer : IExecuter { readonly Data _data; readonly IService _service; public Executer(Data data, IService service) { _data = data; _service =...
1159 vederi