Invest in people before investing in tools

Il blog di Matteo Baglini
posts - 118, comments - 95, trackbacks - 697

[Spring.NET #6] Spring.Core, Type Aliases

Per rendere il file di configurazione più leggibile Spring.NET ha una funzionalità chiamata Type Aliases, la quale permette di attribuire un nome ad un tipo. Nel post precedente, abbiamo visto la difficolta di lettura della definizione di una collection Dictionary<string,<Dictionary<int,object>>, addesso definiamola utilizzando gli aliases. Prima di tutto dobbiamo aggiungere il relativo configuration handler al section group di Spring.NET, il quale risulterà così:

<configSections>
  <sectionGroup name="spring">
    <section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
    <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
    <section name="typeAliases" type="Spring.Context.Support.TypeAliasesSectionHandler, Spring.Core"/>
  </sectionGroup>
</configSections>

in seguito possiamo definire i nostri aliases all'interno dell' apposito tag:

<typeAliases>
  <alias name="NestedDictionary" type="System.Collections.Generic.Dictionary&lt;int,object>"/>
  <alias name="PrimaryDictionary" type="System.Collections.Generic.Dictionary&lt;string,NestedDictionary>"/>      
</typeAliases>

Come possiamo vedere nella seconda dichiarazione abbiamo sostituito il full assembly qualified name della collection con il suo alias. In fine dichiariamo la collection da instanziare, all'interno del tag <objects>:

<object id="ComplexDictionary" 
              type="PrimaryDictionary"/>

Come possiamo vedere la definizione di oggetti complessi diventa molto più semplice e leggibile.

Technorati Tags:

Print | posted on martedì 11 settembre 2007 23:00 | Filed Under [ .NET OpenSource Spring.NET ]

Powered by:
Powered By Subtext Powered By ASP.NET