<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Darth Dog</title>
        <link>http://blogs.ugidotnet.org/darthdog/Default.aspx</link>
        <description>Il blog di Andrea Canegrati</description>
        <language>it-IT</language>
        <copyright>Andrea Canegrati</copyright>
        <managingEditor>dog.cane@fastwebnet.it</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <image>
            <title>Darth Dog</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/darthdog/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Custom Web Parts : WebPartChrome</title>
            <category>ASP.NET</category>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2008/02/20/91267.aspx</link>
            <description>&lt;p&gt;Dopo un piccolo periodo di assenza ho deciso di postare alcune parti di codice per la realizzazione di una WebPartChrome custom (anche in seguito alla richiesta da parte di un lettore del blog &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/regular_smile.gif" /&gt;).&lt;/p&gt;
&lt;p&gt;Nel mio caso ho dovuto realizzare delle webparts con un look&amp;amp;feel completamente custom e questo porta alla necessità di realizzare un WebPartChrome, il quale si occupa del rendering vero e proprio.&lt;/p&gt;
&lt;p&gt;Quindi realizziamo la nostra classe MyWebPartChrome che eredita direttamente da WebPartChrome e andiamo a fare l'override del metodo &lt;font size="2"&gt;&lt;strong&gt;RenderWebPart&lt;/strong&gt; :&lt;/font&gt;&lt;/p&gt;
&lt;p style="BACKGROUND-COLOR: #eeeeee"&gt;&lt;font size="2"&gt;&lt;font face="Arial" size="1"&gt;public class MyWebPartChrome : WebPartChrome&lt;br /&gt;
{&lt;br /&gt;
   ....&lt;br /&gt;
   public override void RenderWebPart(HtmlTextWriter writer, WebPart webPart)&lt;br /&gt;
   {&lt;br /&gt;
      RenderWebPartHeader(writer, webPart)&lt;br /&gt;
      RenderPartContents(writer, webPart);&lt;br /&gt;
      RenderWebPartFooter(writer, webPart);&lt;br /&gt;
   }&lt;br /&gt;
   ....&lt;br /&gt;
}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font style="BACKGROUND-COLOR: #c0c0c0" face="Arial" size="1"&gt;&lt;font style="BACKGROUND-COLOR: #ffffff" size="2"&gt;Dove i tre metodi richiamati all'interno sono due metodi privati che si occupano di renderizzare parti distinte delle mie web parts (header e footer) e il metodo standard della WebPartChrome per la renderizzazione del contenuto. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;Per semplifcare ulteriormente la creazione del mio look&amp;amp;feel ho deciso di utilizzare dei templates, ovvero un file HTML che contiene dei semplici segnaposto dove andare a sostituire le parti necessarie per il corretto funzionamento del framework delle webparts (cosa su tutte l'ID del Title, che come accennavo nell'altro &lt;a href="http://blogs.ugidotnet.org/darthdog/archive/2007/10/04/88726.aspx"&gt;post&lt;/a&gt;, permette il corretto funzionamento del drag&amp;amp;drop). Avremmo quindi un template di questo tipo :&lt;/font&gt;&lt;/p&gt;
&lt;p style="BACKGROUND-COLOR: #eeeeee"&gt;&lt;font face="Arial"&gt;&lt;font face="Arial" size="1"&gt;&amp;lt;div id="[IDWebPart]" class="miaclass1"&amp;gt;&lt;br /&gt;
    &amp;lt;div id="[IDTitolo]" class="miaclass2"&amp;gt;&lt;br /&gt;
        [Titolo]&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class="miaclass3"&amp;gt;&lt;br /&gt;
        [Verbi]        &lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt; &lt;br /&gt;
    &amp;lt;div class="miaclass4"&amp;gt;&lt;br /&gt;
  &amp;lt;div style="[Visibilita]"&amp;gt;&lt;br /&gt;
   [Contenuto]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class="miaclass5"&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class="miaclass6"&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" size="2"&gt;Una volta realizzato il mio template sarà compito del mio CustomChrome (o di altro) andare a leggersi il file direttamente da filesystem (con eventuale verifica di data modifica) o come risorsa incorporata. Questo esempio di template viene spezzato in Header e Footer tramite il segnaposto &lt;strong&gt;[Contenuto], &lt;/strong&gt;che indica dove verrà renderizzato il contenuto della web part vera e propria:&lt;/font&gt;&lt;/p&gt;
&lt;p style="BACKGROUND-COLOR: #eeeeee"&gt;&lt;font face="Arial"&gt;&lt;font size="1"&gt;....&lt;br /&gt;
webPartTemplate = MyTemplateBuilder.Split(new string[] { "[Contenuto]" }, StringSplitOptions.RemoveEmptyEntries);&lt;br /&gt;
WEBPART_TEMPLATE_HEADER = webPartTemplate[0];&lt;br /&gt;
WEBPART_TEMPLATE_FOOTER = webPartTemplate[1];&lt;br /&gt;
....&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;A questo punto ecco i metodi che renderizzano Header e Footer:&lt;/font&gt;&lt;/p&gt;
&lt;p style="BACKGROUND-COLOR: #eeeeee"&gt;&lt;font face="Arial"&gt;&lt;font face="Arial" size="1"&gt;&lt;font face="Arial"&gt;private void RenderWebPartHeader(HtmlTextWriter writer, WebPart webPart)&lt;br /&gt;
{&lt;br /&gt;
   writer.Write(WEBPART_TEMPLATE_HEADER&lt;br /&gt;
      .Replace("[IDWebPart]", GetWebPartChromeClientID(webPart))&lt;br /&gt;
      .Replace("[Icona]", webPart.ResolveUrl(webPart.TitleIconImageUrl))&lt;br /&gt;
      .Replace("[IDTitolo]", GetWebPartTitleClientID(webPart))&lt;br /&gt;
      .Replace("[Titolo]", webPart.Title)&lt;br /&gt;
      .Replace("[Verbi]", RenderVerbs(webPart))&lt;br /&gt;
      .Replace("[Visibilita]", (webPart.ChromeState == PartChromeState.Minimized)?"display:none;":"")&lt;br /&gt;
   );&lt;br /&gt;
}&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="BACKGROUND-COLOR: #eeeeee"&gt;&lt;font face="Arial"&gt;&lt;font face="Arial" size="1"&gt;private void RenderWebPartFooter(HtmlTextWriter writer, WebPart webPart)&lt;br /&gt;
{&lt;br /&gt;
   writer.Write(WEBPART_TEMPLATE_FOOTER);&lt;br /&gt;
}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Spero che questo piccolo post possa essere utile per la realizzazione di un Chrome completamente custom, operazione che a mio parere risultà un pò più macchinosa di quanto mi aspettassi, soprattutto data la fatica nella ricerca di materiale e di esempi &lt;em&gt;funzionanti&lt;/em&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;PS: ovviamente questo è un esempio scritto di getto e con un pò di taglia/incolla dal progetto che ho realizzato, quindi prendetelo giusto come piccola traccia &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/wink_smile.gif" /&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/91267.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2008/02/20/91267.aspx</guid>
            <pubDate>Wed, 20 Feb 2008 12:05:50 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/91267.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2008/02/20/91267.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/91267.aspx</wfw:commentRss>
        </item>
        <item>
            <title>La mia esperienza con il pattern MVP</title>
            <category>Patterns</category>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2007/12/22/90416.aspx</link>
            <description>&lt;p&gt;Eccomi finalmente qui a postare, dopo un lungo periodo in cui sto partecipando allo sviluppo di un grosso progetto ASP.NET.&lt;/p&gt;
&lt;p&gt;Proprio in questo lavoro abbiamo applicato in maniera molto "decisa" il pattern MVP. Abbiamo deciso di utilizzarlo per diversi motivi e i risultati sono stati decisamente ben oltre le mie aspettative :&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Testabilità dell'applicativo web (sicuramente questa è la prima condizione fondamentale per spingersi verso questo approccio e fin qui nulla di nuovo :) &lt;/li&gt;
    &lt;li&gt;Organizzazione del codice e "pulizia" decisamente soddisfacente &lt;/li&gt;
    &lt;li&gt;Con un pò di attenzione è stato abbattuto &lt;strong&gt;drasticamente&lt;/strong&gt; il ViewState (questo non è sicuramente legato direttamente all'implementazione dell'MVP) &lt;/li&gt;
    &lt;li&gt;Essendo un grosso portale nel quale vengono utilizzate le Web Parts di ASPNET, è capitato di avere gli stessi "contenuti" renderizzati in maniera differente (quindi con usercontrols diversi). Qui l'MVP ci è stato di grosso aiuto, in quanto non solo può essere utilizzato per creare applicativi indipentendi dalla rappresentazione (web/winform), ma anche per creare "viste" diverse dello stesso presenter sempre in ambito web, ottenendo così in alcuni casi un &lt;strong&gt;risparmio di scrittura del codice&lt;/strong&gt; superiore al 60%. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Beh che dire...&lt;strong&gt;nel mio caso&lt;/strong&gt; l'esperimento è stato decisamente positivo!&lt;/p&gt;
&lt;p&gt;Ecco alcuni link che potrebbero tornare utili (oltre ovviamente al caro e buon vecchio NSK :)&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;&lt;span class="ArticleTopTitle" id="ctl00_ArticleTopHeader_ArticleTitle"&gt;&lt;a href="http://www.codeproject.com/KB/architecture/ModelViewPresenter.aspx"&gt;Model View Presenter with ASP.NET&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;&lt;a id="viewpost_ascx_TitleUrl" title="Title of this entry." href="http://haacked.com/archive/2006/08/09/ASP.NETSupervisingControllerModelViewPresenterFromSchematicToUnitTestsToCode.aspx"&gt;ASP.NET Supervising Controller (Model View Presenter) From Schematic To Unit Tests to Code&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8.5pt; FONT-FAMILY: Verdana"&gt;&lt;font color="#000000"&gt;&lt;a href="http://ameleta.spaces.live.com/blog/cns!5F6316345A821420!163.entry"&gt;Model View Presenter vs Model View Controller&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8.5pt; FONT-FAMILY: Verdana"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/90416.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2007/12/22/90416.aspx</guid>
            <pubDate>Sat, 22 Dec 2007 13:09:34 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/90416.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2007/12/22/90416.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/90416.aspx</wfw:commentRss>
        </item>
        <item>
            <title>NHibernate e collezioni di Value Objects</title>
            <category>NHibernate</category>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2007/11/18/89769.aspx</link>
            <description>&lt;p&gt;In questi giorni sto lavorando su un grosso portale e sto utilizzando (come ormai faccio da un pò di tempo) l'accoppiata DDD/NHibernate e il mapping di NHibernate permette con semplicità di gestire tutte le casistiche che finora ho riscontrato senza nessuna problematica (con mia grande soddisfazione :).&lt;/p&gt;
&lt;p&gt;Mi sono trovato però di fronte ad un piccolo problema : normalmente utilizzo le Criteria API per effettuare le mie interrogazioni (per ridurre al minimo gli errori legati alla digitazione delle stringhe hql e per facilitarmi la creazione di interrogazioni dinamiche) ma ho notato come non sia possibile effettuare una join su una collezione di "component" tramite Criteria (messaggio di errore : "&lt;font face="Arial"&gt;&lt;a href="http://www.hibernate.org/117.html#A2"&gt;collection was not an association&lt;/a&gt;") mentre tramite hql il tutto funziona come da "manuale".&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Quindi avendo una entity A con una collection di value objects B non sarà possibile creare un Criteria e un successivo Alias/Criteria per effetuare filtri sulle proprietà di B.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/89769.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2007/11/18/89769.aspx</guid>
            <pubDate>Sun, 18 Nov 2007 13:01:05 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/89769.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2007/11/18/89769.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/89769.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Sviluppare con "Mono"</title>
            <category>.NET</category>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2007/10/22/89141.aspx</link>
            <description>&lt;p&gt;Devo ammettere che Mono è sempre stato un "argomento" che ha esercitato su di me un certo fascino....avevo fatto alcune prove in epoca decisamente "remota" e, successivamente, abbandonato la strada, mantenendo sempre un occhio verso lo sviluppo del progetto.... &lt;/p&gt;
&lt;p&gt;Eccomi ora reduce dai Mono Days, che come ha commentato &lt;a href="http://blogs.ugidotnet.org/piyo/Default.aspx"&gt;Simone Chiaretta&lt;/a&gt;,hanno avuto un taglio sicuramente non tecnico, ma la mia intenzione era quella di farmi un'idea sulla "maturità" raggiunta dal progetto per poter iniziare nuovamente a fare un pò di sperimentazione (tra l'altro abbiamo messo in "cantiere" un progetto che realizzeremo proprio su Mono, così da poter valutare la piattaforma con più tranquillità). Fin qui tutto "regolare"...almeno fino a questa mattina, quando ricevo una telefonata di Novell (conseguenza della presenza all'evento) che mi propone la possibilità di prendere contatti/incontrare i loro sviluppatori per chiarire dubbi o difficoltà su Mono(ho riassunto un pò, ma il senso della telefonata è questo).....mica male!!!&lt;/p&gt;
&lt;p&gt;Sembra che Novell stia decisamente premendo sull'acceleratore per spingere sempre di più l'adozione della "loro piattaforma ufficiale".....e dal mio punto di vista...non posso che esserne contento :)&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/89141.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2007/10/22/89141.aspx</guid>
            <pubDate>Mon, 22 Oct 2007 17:01:50 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/89141.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2007/10/22/89141.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/89141.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Gestione di diverse sorgenti dati per il Domain Layer</title>
            <category>.NET</category>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2007/10/08/88822.aspx</link>
            <description>&lt;p&gt;Scrivo questo post dopo un periodo di meditazione e tutto sommatto lo considero una mia riflessione a voce alta... &lt;/p&gt;
&lt;p&gt;Mi è capitato in uno o più applicativi di avere oggetti del mio Domain Layer  provenienti da sorgenti dati differenti, che siano database diversi, web services o magari ldap. Ho sempre cercato di fare in modo di allineare il tutto e di nascondere tramite provider la diversa sorgente (premetto che anche l'utilizzo di NHibernate è "nascondo" tramite providers) facendo un bel pò di lavoro ripetitivo....ma a questo punto mi sorge un bell'interrogativo...visto che probabilmente mi è capitato e mi capiterà ancora...se cercassi di "standardizzare" il tutto? Non intendo fare un ORM o roba simile (ne esiste già uno che fa il suo sporco e ottimo lavoro eh eh eh), ma solo una serie di facilitazioni per agevolare la gestione di diverse sorgenti dati, nel modo più trasparente possibile....e ovviamente condividere il tutto su codeplex...&lt;/p&gt;
&lt;p&gt;Per ora sono solo alcune idee ma ho voluto postare comunque per condividere il mio pensiero....con alcuni di voi l'ho già fatto in diverse sedi (di persona, via mail o msn) ma mi piacerebbe avere qualche suggestione/idea o anche critiche...&lt;/p&gt;
&lt;p&gt;Ciauz!!&lt;/p&gt;
&lt;p&gt;P.S. per &lt;a href="http://blogs.ugidotnet.org/janky/Default.aspx"&gt;Janky&lt;/a&gt; : ho meditato sul tuo consiglio di realizzare un persister custom per NHibernate e sicuramente per il progetto che sto realizzando ora è la soluzione migliore (quindi poi preparerò un bell'articoletto come promesso ;)...però mi piacerebbe comunque portare avanti anche l'altra idea...magari a tempo perso...&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/88822.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2007/10/08/88822.aspx</guid>
            <pubDate>Mon, 08 Oct 2007 20:03:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/88822.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2007/10/08/88822.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/88822.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Rendere draggabile una WebPartChrome custom</title>
            <category>ASP.NET</category>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2007/10/04/88726.aspx</link>
            <description>&lt;p&gt;In questi giorni stavo effettuando alcune prove sulle WebParts di ASPNET, vista la necessità di realizzare un portale "my.msn-like" per un nostro cliente.&lt;/p&gt;
&lt;p&gt;Armato del libro "ASP.NET 2.0 WebParts In Action" (e dopo un attenta lettura, visto che partivo praticamente da zero) ho iniziato le mie prove e dopo diversi esperimenti sono arrivato alla realizzazione di una WebPartChrome custom per personalizzare il look&amp;amp;feel delle mie WebParts...ma appena sono entrato in modalità "Design" mi sono accorto di un "piccolo" bug...non funzionava il DRAG&amp;amp;DROP!!&lt;/p&gt;
&lt;p&gt;Cercando così tra i vari forum/blog ho trovato il problema : nel libro trascurano un elemento fondamentale, quando si scrive il markup del titolo della WebPart è necessario aggiungere l'ID dello stesso generato con del codice simile a questo:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;writer.AddAttribute(&lt;span&gt;HtmlTextWriterAttribute&lt;/span&gt;.Id, &lt;span&gt;this&lt;/span&gt;.GetWebPartTitleClientID(webPart));&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;E' quindi fondamentale la chiamata al metodo "&lt;em&gt;GetWebPartTitleclientID&lt;/em&gt;". Questo è il &lt;a href="http://developers.de/blogs/damir_dobric/archive/2006/09/04/915.aspx"&gt;link&lt;/a&gt; dell'articolo che mi ha permesso di individuare il problema :)&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/88726.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2007/10/04/88726.aspx</guid>
            <pubDate>Thu, 04 Oct 2007 20:12:10 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/88726.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2007/10/04/88726.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/88726.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Mastering .NET Enterprise Architecture : Janky...una garanzia!</title>
            <category>Varie</category>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2007/10/03/88701.aspx</link>
            <description>&lt;p&gt;Eccomi dopo due intensissimi giorni di corso su architetture enterprise del buon &lt;a href="http://blogs.ugidotnet.org/janky/"&gt;Janky&lt;/a&gt; (ora finalmente e GIUSTAMENTE MVP :)&lt;/p&gt;
&lt;p&gt;Devo dire molto sinceramente che è andato ben oltre le mie aspettative, molto meno codice rispetto al mastering di NHibernate (che ho seguito sempre con lui) ma molta molta "teoria" e possibilità di apprendere molti aspetti interessanti del "mondo architetturale" grazie agli esempi di un vero esperto in materia!! Si è parlato di SOA (e non solo di WCF, anzi!!), di AOP (cosa che mi ha sempre incuriosito ma non ho mai approfondito in maniera decisa e di cui finalmente ho intravisto le potenzialità!!!), di Spring.NET e ovviamente di Domain Model etc etc etc :)&lt;/p&gt;
&lt;p&gt;Ora avrò un bel pò da meditare su tutto quello che ho visto e che spero di mettere in pratica il prima possibile (probabilmente la prima vittima sarà Spring.NET, che ho già utilizzato in un progetto come IoC container).....&lt;/p&gt;
&lt;p&gt;Alla prossima :)&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/88701.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2007/10/03/88701.aspx</guid>
            <pubDate>Wed, 03 Oct 2007 06:35:54 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/88701.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2007/10/03/88701.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/88701.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Genesis : una sola parola....spettacolo</title>
            <category>Varie</category>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2007/07/15/85718.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Eccomi reduce da 26 ore senza dormire per il "pellegrinaggio" al maxi-concerto dei Genesis di Roma.....&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Sveglia alle&amp;nbsp;5 di sabato mattina&amp;nbsp;per raccogliere&amp;nbsp;amici e&amp;nbsp;via verso l'areoporto (partendo da ovest di Milano)&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Partenza da Bergamo ore 8.25&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Conquista di una&amp;nbsp;posizione all'ombra&amp;nbsp;all'interno del&amp;nbsp;circo massimo alle 13&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Attesa interminabile di 8 ore&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Ore 21...inizia!!!&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Nottata in giro per Roma (veramente una citt&amp;#224; stupenda!)&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Ritorno a "casa" con volo alle 6.50...&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Premetto che sono un fan accanito di Peter Gabriel e dei Genesis "progressive"...ma quello a cui ho assistito &amp;#232; stato veramente unico...e per una volta tanto potr&amp;#242; dire&amp;nbsp;: &lt;STRONG&gt;io ero l&amp;#236;&lt;/STRONG&gt;!!!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/85718.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2007/07/15/85718.aspx</guid>
            <pubDate>Sun, 15 Jul 2007 17:20:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/85718.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2007/07/15/85718.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/85718.aspx</wfw:commentRss>
        </item>
        <item>
            <title>E dopo i Community Days...</title>
            <category>Varie</category>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2007/06/28/83994.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Ecco il mio primo post dopo tanto...ma tanto tempo :)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Sono reduce da una 5 giorni di fuoco, ma soprattutto dai community days della scorsa settimana. Devo dire che &amp;#232; da poco che bazzico nell'ambiente di ugidotnet...&lt;BR&gt;ma anche questa volta sono rimasto molto colpito dal livello delle sessioni...&lt;BR&gt;le ho trovate molto interessanti e mai scontate (cito a titolo personale quelle di &lt;A href="http://blogs.ugidotnet.org/janky/"&gt;janky&lt;/A&gt;, sia quella pi&amp;#249; architetturale che quella su "Linghiu" 2 SQL, quelle di &lt;A href="http://blogs.ugidotnet.org/pape"&gt;Andrea &lt;/A&gt;e di &lt;A href="http://blogs.ugidotnet.org/dinoes"&gt;Dino&lt;/A&gt;). &lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;Davvero moltissimi spunti sui quali riflettere e per "migliorare" decisamente quello che &amp;#232; il mio approccio allo sviluppo/architettura.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Ora non mi resta altro da fare che iniziare a sperimentare un p&amp;#242; e nel frattempo, per quello che riguarda ORM e affini, continuare ad affidarmi ad NHibernate :) &lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/83994.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2007/06/28/83994.aspx</guid>
            <pubDate>Thu, 28 Jun 2007 18:09:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/83994.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2007/06/28/83994.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/83994.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Eccomi!</title>
            <link>http://blogs.ugidotnet.org/darthdog/archive/2006/11/18/54959.aspx</link>
            <description>Ciao a tutti, questo è il mio primo post su questo blog (spero il primo di una lunga serie eh eh eh).
Cercherò di raccogliere il più possibile idee, "scoperte", soluzioni e tutto ciò che trovo interessante o che che mi ha portato via parecchio tempo, in modo da condividere con tutti anche le più piccole cose.....e chissà, magari il tempo perso da uno verrà risparmiato da altri :)

Andrea!&lt;img src="http://blogs.ugidotnet.org/darthdog/aggbug/54959.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Canegrati</dc:creator>
            <guid>http://blogs.ugidotnet.org/darthdog/archive/2006/11/18/54959.aspx</guid>
            <pubDate>Sat, 18 Nov 2006 10:08:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/darthdog/comments/54959.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/darthdog/archive/2006/11/18/54959.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/darthdog/comments/commentRss/54959.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>