Come tutte le cose belle che sono destinate a terminare, anche questa sessione di incontri ...
Ci siete cascati eh ;-)
Scherzo, ci siamo soltanto spostati su un nome più appropriato ;-)
Da oggi in poi questo blog non verrà più mantenuto e tutte le vostre curiosità ecc. ecc. verranno soddisfatte su:
More C++ (This Week ;-)
Mi raccomando non ci abbandonate!
Riflessioni semi serie su programmazione e dintorni.
2008/07/06
2008/07/03
Libero post in libero sito.
Ciao,
in accordo ad un desiderato sentito è stata eliminata la moderazione dei commenti, spero che questo incentivi la pubblicazione di:
- domande;
- curiosità;
-....
:D
in accordo ad un desiderato sentito è stata eliminata la moderazione dei commenti, spero che questo incentivi la pubblicazione di:
- domande;
- curiosità;
-....
:D
2008/07/01
STL: magie algoritmiche sui contenitori
Ciao,
eccoci a quello che sta per essere il terzo incontro della
serie Dummy Of The Week; nell'ottica di essere AAAP (As Agili As
Possible) sarà di Giovedì ore 15.00.
Tema:
come da titolo, STL: magie algoritmiche sui contenitori.
Vi aspetto preparati la prima domanda che farò sarà:
A cosa serve std::accumulate?
A presto....
PS
All'unanimità (che sarebbe il sottoscritto), si ritiene che il nome del
sito faccia abbastanza schifo, si accettano suggerimenti per un nuovo nome.
Cheers :)
2008/06/26
No feedback???
Ciao a tutti,
questo blog mi sembra un po' un deserto, aspettavo feedback, ma sembra
che si facciano desiderare. Se si ritiene che Dummy of the week non sia
utile, almeno fatelo sapere!
questo blog mi sembra un po' un deserto, aspettavo feedback, ma sembra
che si facciano desiderare. Se si ritiene che Dummy of the week non sia
utile, almeno fatelo sapere!
Fab
2008/06/23
Back to the future
Ciao,
come da ultimo incontro posto una serie di temi che potrebbero essere trattati
fra due settimane, aspetto commenti per sapere quale potrà interessare:
- Prototype: c++ java e la reflection
- Agile: cosa significa e... l'abbiamo mai usata?
- CORBA: memory management nei sistemi distribuiti
- Template: c++ to the infinity and beyond
- STL: magie algoritmiche sui contenitori
- Unit Testing: uno sconosciuto al lavoro (System Testing)
- Makefile: quando il codice non è tutto
- OpenGL: disegnare il mondo
- wxWidgets: aprire il codice alle finestre
Ok,
aspetto di sapere cosa trattare (visto che mi vorrei riposare ;-)
come da ultimo incontro posto una serie di temi che potrebbero essere trattati
fra due settimane, aspetto commenti per sapere quale potrà interessare:
- Prototype: c++ java e la reflection
- Agile: cosa significa e... l'abbiamo mai usata?
- CORBA: memory management nei sistemi distribuiti
- Template: c++ to the infinity and beyond
- STL: magie algoritmiche sui contenitori
- Unit Testing: uno sconosciuto al lavoro (System Testing)
- Makefile: quando il codice non è tutto
- OpenGL: disegnare il mondo
- wxWidgets: aprire il codice alle finestre
Ok,
aspetto di sapere cosa trattare (visto che mi vorrei riposare ;-)
2008/06/18
Composite & Visitor ovvero: come i pattern si legano al memory management
Eccoci alla seconda puntata del nostro blog preferito,
il tema che tratteremo nei prossimi giorni è decisamente sfidante
e pretenzioso Composite & Visitor.
La GOF classificò i pattern in famiglie:
- creational
- behavioral
- structural
Comp
osite è un pattern della famiglia structural.
Lo scopo del composite è gestire in maniera organica alberi di oggetti
(ricorda un po' un frattale).
La grande flessibilità di un Composite ne limita l'estensione nel comportamento.
I principi di incapsulamento, propri della programmazione Object Oriented, consigliano di mantenere le interfacce degli oggetti contenute, pochi metodi strettamente collegati al comportamento dell'oggetto da trattare.
Un Composite prevede di raggruppare il più possibile, questo implicherebbe interfacce della classe padre "ingombranti".
Il Visitor ci può venir in aiuto, scopo del visitor è quello di dare comportamento ad oggetti.
Visitor appartiene alla famiglia dei pattern behavioral.
Gli oggetti possono essere tra loro scorrelati, basta che nella loro interfaccia siano capaci
di accettare un "visitatore" ;-)
PS: vedi anche Iterator.
Come in tutte le scelte progettuali ci sono vantaggi e svantaggi:
Composite offre un interfaccia unica per gerarchie di oggetti complessi, ne semplifica la creazione di nuovi, ma è limitante per quel che riguarda l'estensione dell'interfaccia;
Visitor offre la possibilità di aggiungere comportamento, ma non è flessibile per aggiungere nuovi oggetti;

quindi, beh scegliete voi ;-)
Ma come diceva una nota canzone di Ivan Graziani: "tutto questo cosa c'entra con il..."
memory management.
Finora non abbiamo parlato delle strutture dati per contenere gli alberi di oggetti, né
di STL.
STL è un fantastico acronimo per Standard Template Library.
STL è una libreria che sfrutta una feature molto potente del c++: i template.
I template sono un argomento che merita un post a sé, ma tanto per far venire un po' di acquolina cominciamo a trattarne almeno uno: auto_ptr.
auto_ptr è uno strumento estremamente utile per avere un memory management semplice
ed efficiente, il problema è che non può essere usato nelle altre strutture STL, che tipicamente sono utilizzate nei Composite ;-)
A proposito del codice lo potete trovare qui.
Cheers
il tema che tratteremo nei prossimi giorni è decisamente sfidante
e pretenzioso Composite & Visitor.
La GOF classificò i pattern in famiglie:
- creational
- behavioral
- structural
Comp
osite è un pattern della famiglia structural.Lo scopo del composite è gestire in maniera organica alberi di oggetti
(ricorda un po' un frattale).
La grande flessibilità di un Composite ne limita l'estensione nel comportamento.
I principi di incapsulamento, propri della programmazione Object Oriented, consigliano di mantenere le interfacce degli oggetti contenute, pochi metodi strettamente collegati al comportamento dell'oggetto da trattare.
Un Composite prevede di raggruppare il più possibile, questo implicherebbe interfacce della classe padre "ingombranti".
Il Visitor ci può venir in aiuto, scopo del visitor è quello di dare comportamento ad oggetti.Visitor appartiene alla famiglia dei pattern behavioral.
Gli oggetti possono essere tra loro scorrelati, basta che nella loro interfaccia siano capaci
di accettare un "visitatore" ;-)
PS: vedi anche Iterator.
Come in tutte le scelte progettuali ci sono vantaggi e svantaggi:
Composite offre un interfaccia unica per gerarchie di oggetti complessi, ne semplifica la creazione di nuovi, ma è limitante per quel che riguarda l'estensione dell'interfaccia;
Visitor offre la possibilità di aggiungere comportamento, ma non è flessibile per aggiungere nuovi oggetti;

quindi, beh scegliete voi ;-)
Ma come diceva una nota canzone di Ivan Graziani: "tutto questo cosa c'entra con il..."
memory management.
Finora non abbiamo parlato delle strutture dati per contenere gli alberi di oggetti, né
di STL.
STL è un fantastico acronimo per Standard Template Library.
STL è una libreria che sfrutta una feature molto potente del c++: i template.
I template sono un argomento che merita un post a sé, ma tanto per far venire un po' di acquolina cominciamo a trattarne almeno uno: auto_ptr.
auto_ptr è uno strumento estremamente utile per avere un memory management semplice
ed efficiente, il problema è che non può essere usato nelle altre strutture STL, che tipicamente sono utilizzate nei Composite ;-)
A proposito del codice lo potete trovare qui.
Cheers
2008/06/13
Singleton: definizione, implementazione e varianti.
Ciao,
eccoci alla prima raccolta di info derivanti dal primo seminario il cui titolo era:
Singleton: definizione, implementazione e varianti.
Il Singleton è un pattern di programmazione molto noto per avere all'interno del proprio codice un'instanza unica di oggetto.
La versione più celebre è quella presentata nel libro "Desing Pattern" della fantomatica
Gang of Four (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides).
Ecco qua il codice mostrato durante il seminario: the code.
Un utile riferimento si può trovare qui.
All'interno del progetto Cardamom uno degli impieghi del Singleton si puo' trovare nella classe Logger del CSCI Foundation.
eccoci alla prima raccolta di info derivanti dal primo seminario il cui titolo era:
Singleton: definizione, implementazione e varianti.
Il Singleton è un pattern di programmazione molto noto per avere all'interno del proprio codice un'instanza unica di oggetto.
La versione più celebre è quella presentata nel libro "Desing Pattern" della fantomatica
Gang of Four (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides).
Ecco qua il codice mostrato durante il seminario: the code.
Un utile riferimento si può trovare qui.
All'interno del progetto Cardamom uno degli impieghi del Singleton si puo' trovare nella classe Logger del CSCI Foundation.
Etichette:
c++,
double scoped pattern,
gamma,
meyers,
singleton
Welcome Dummy of The Week
Ciao a tutti,
benvenuti in questo "contenitore" per riflessioni semi serie sulla programmazione e dintorni.
L'idea di questo blog nasce dalla volontà di raccogliere in forma organica i seminari che sono tenuti per approfondire i temi di: linguaggi di programmazione, pattern ed architettura software.
Ringrazio da subito tutti quelli che vorranno fattivamente contribuire al suo successo.
Fab
benvenuti in questo "contenitore" per riflessioni semi serie sulla programmazione e dintorni.
L'idea di questo blog nasce dalla volontà di raccogliere in forma organica i seminari che sono tenuti per approfondire i temi di: linguaggi di programmazione, pattern ed architettura software.
Ringrazio da subito tutti quelli che vorranno fattivamente contribuire al suo successo.
Fab
Etichette:
c++,
design pattern,
java,
software
Iscriviti a:
Post (Atom)