Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

[70-536, #04] Una prima idea delle classi su cui lavoreremo

Introduzione
Negli ultimi giorni ho pensato un po' a cosa poter realizzare nelle prossime settimane per scrivere dei post che abbiano un qualche senso pratico, in modo da essere più intuitivi e comprensibili a chi mi seguirà.

Esattamente lunedì sera, dopo cena, era in camera mia con mio fratello e mi guardavo attorno, girovagando a caso alla ricerca di un po' di ispirazione. Voi non potete saperlo, ma in camera mia sono letteralmente circondato da libri di ogni sorta, alcuni dei quali (solo quelli che ho letto) sono elencati qua. Mi sono ricordato di quando, negli anni '80, usavo il mio fedele Texas Instruments TI-99 per gestire un piccolo database di tutti i libri che avevo in quel periodo. Inserivo per ciascuno il titolo, l'autore, altre informazioni e - cosa che mi divertiva parecchio - il luogo all'interno della casa dove lo mettevo (mensola 1, scaffale 5, libreria in salotto). Beh, ho pensato di riproporre questo concetto in .NET 2.0. Attenzione: non tratterò assolutamente di come creare un'applicazione da zero, quanto piuttosto di come implementare un set di classi che potrebbero in linea teorica fungere da scheletro per un'eventuale applicazione che possa:

  1. gestire un database di libri
  2. gestire la collocazione/luogo/ripostiglio di ogni libro, per sapere dov'è quando lo vogliamo

Il set di classi iniziali
Ecco il diagramma semplice semplice di cosa ho in testa.

In pratica, la classe Storage rappresenta banalmente il nostro database nel sua interezza. Lo storage (che possiamo immaginare come se fosse casa nostra, per esempio) contiene tante istanze di Shelf (scaffale), un bel nome che dà un senso di hardware. Uno shelf non è nient'altro che un oggetto che rappresenta un luogo (mensola, scaffale, angolo) dove possiamo riporre un libro. Infine, ogni shelf può ovviamente contenere una o più istanza di Book, che - come dice il nome stesso - è il libro vero e proprio.

Implementazione delle classi, seguendo la Preparation Guide dell'esame
E' vero, si tratta di implementare delle classi semplici, da un certo punto di vista. Ho intenzione però di estenderle, di scrivere in modo tale da approfondire tutti quei concetti teorici che vengono tirati in ballo dalla Preparation Guide dell'esame 70-536. Non solo: grazie alla vostra collaborazione, sicuramente verranno alla luce altre idee e proposte, per cui mi aspetto che questa idea di base possa subìre qualche cambiamento, per cui - sappiatelo - aspetto solo voi e la vostra collaborazione.

Queste classi si prestano molto bene, direi, per essere compliant con le varie interfacce built-in di .NET (ICollection, IList, IComparer, IEquatable, etc.). Le implementeremo dotandole di metodi e proprietà specifiche e vedremo il vantaggio di usare generics. Potremo criptare e decriptare le classi Book, serializzarle, giocare con i vari tipi di Collection di .NET: tutti argomenti che mi stanno parecchio a cuore e che intendo affrontare insieme a voi.

"Voglio dire la mia...ma come?"
E' ancora tutto sperimentale, ma l'idea è questa. Sul mio blog proporrò i contenuti, in modo simile a quanto fatto in passato: cioè, post chiari, semplice ed amichevoli. Gli stessi contenuti verranno proposti - se accettati - anche come articoli sul sito UGIdotNET, però in modo un po' più rigoroso e, soprattutto, marcando bene il territorio, ovvero parlando di un argomento ben specifico: Generics, interfacce (IList, ICollection, IEnumerator, etc.), classe Thread, etc. etc. Infine - ultimo ma non ultimo - il wiki di UGIdotNET, che fungerà da aggregatore a tutte queste risorse: per ciascun argomento raccoglierà documentazione on-line, i miei post e altre risorse oltre che - importantissimo - la possibilità per chiunque di voi di partecipare liberamente al progetto.

Non è mica male, vero? Speriamo di farcela!

powered by IMHO 1.2

Print | posted on giovedì 12 gennaio 2006 18:06 | Filed Under [ Esame 70-536 ]

Feedback

Gravatar

# re: [70-536, #04] Una prima idea delle classi su cui lavoreremo

Igor, sarebbe bello se i diagrammi li facessi in UML, in modo da dargli un formalismo standard... oggi mi sento pignolo :-)
Saluti
12/01/2006 18:19 | Roberto Messora
Gravatar

# re: [70-536, #04] Una prima idea delle classi su cui lavoreremo

sì, ci avevo pensato anche io, ma adesso non ho un tool adatto, magari lo farò in un secondo momento.
pignolo, bah!!!
:-)
12/01/2006 18:27 | Igor Damiani
Gravatar

# re: [70-536, #04] Una prima idea delle classi su cui lavoreremo

io userei il class designer di vs2005... per restare in tema con gli esami!
12/01/2006 23:36 | Lorenzo Barbieri
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET