Questo articolo è stato pubblicato 3 anni 13 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi.Lo sviluppo di XCogen prosegue lentamente. Una funzionalità interessante che vorrei implementare è il supporto all’object scope nel file di configurazione. Premessa.
I più diffusi IoC Contanier offrono la possibilità di specificare per ogni type da creare, lo scope. Lo scope, o lifestyle in Castle windsor, indica sostanzialmente quante volte istanziare un oggetto. Per esempio se volessi specificare al mio container preferito che voglio una sola istanza del mio componente ILogger dovrei fare una cosa simile a questa:
E’ ovvio che ogni container utilizza un propria sintassi per definire questo comportamento. In Castle Windsor si utilizza il già citato attributo lifestyles, con Unity esiste invece l’attributo Lifetime, in StructureMap l’attributo Scope mentre in Spring.net le cose si complicano un pochino. Se voglio semplicemente definire che un mio oggetto deve essere singleton devo definire l’attributo singleton = true, mentre per le restanti tipologie bisogna utilizzare l’attributo Scope. Insomma un bel casino ma non demordo
Tags: Castle Windsor, Ioc, Spring.net, StructureMap, Unity, xcogen