Domain Driven Design

La categoria contiene tutti i post relativi l' utlizizzo e l' implementazione di questo pattern di sviluppo.

Fluent NHibernate.

Non ho neanche 1 minuto di cazzeggio ma al posto di guardare la televisione preferisco sempre andarmi a leggere qualcosa di utile. Magari ho scoperto l’ acqua calda, ma sono caduto su questo wiki: http://wiki.fluentnhibernate.org. Lo trovo davvero un progetto interessante per i seguenti motivi: Finalmente e’ stato abolito il fastidiosissimo uso di file XML che portano ad una notevole generazione di bugs in fase di compilazione (a meno che qualcuno riesca a fare i test anche sui file di configurazione di NHibernate). Possiamo finalmente lavorare a runtime sulla configurazione...

Enterprise Architect summit 2008

Questo si che era un evento da non perdere, peccato che sia gia' da un' altra parte in quei giorni. Porca paletta!!

Beginning ASP.NET MVC

Finalmente il nostro caro  amico ce l' ha fatta!! (Simone Chiaretta)!! ISBN: 978-0-470-43399-7 Paperback 500 pages March 2009   Beginning ASP.NET MVC is for developers who have .NET and ASP.NET experience, but want to enhance their level of knowledge and need to learn about the MVC framework. The book is simple and basic in its approach, because it allows readers to learn the concepts in a straightforward, uncomplicated way, but it still assumes a level of programming background and knowledge. This appeals to...

Database e Software, sviluppo in parallelo o prima uno poi l' altro?

Ho creato la discussione su GUISA e mi piacerebbe sentire l' opinione di ognuno di voi. In riferimento al mio post di ieri. http://www.guisa.org/forums/1989/ShowThread.aspx#1989

Comanda il Database o il Codice?

Questo Venerdi' ho avuto una piacevole discussione con uno sviluppatore; la voglio condividere con voi. Con l' avvento degli ORM e dello sviluppo Domain Driven stiamo lasciando da parte una delle componenti piu' importanti del software. Il contenitore dei dati, il Database. Vedo sempre piu' Database modellati in maniera errata, solo perche' molti compiti adesso vengono associati al codice. Ma ci stiamo dimenticando perche'  usiamo un database e non un semplice file di testo per memorizzare i dati. Vi elenco alcune regole che dovrebbero essere un MUST nella modellazione di un buon database e che spesso vengono prese...

Non sempre l' idea è poi la realtà.

Technorati Tag: Architettura,Software Prendo spunto da un articolo a mio parere molto interessante, postato su InfoQ  "Ideal Architecture is not always about Ideal Technology or Techniques". In pratica viene reso noto, che spesso l' Architetto del Software, durante la fase di analisi deve considerare, non solo la tecnologia, ma anche le esigenze e la realtà. Ok quindi come viene spiegato, potrebbe succedere che: L' architetto si trova a dover gestire un Team di Sviluppatori VB6 per un progetto web (che sfiga!!) e che la tempistica di consegna è breve. ...

C# 3.0 Design Pattern, un primo libro

Con l' annuncio del nuovo linguaggio non poteva mancare un primo libro che fornisce pratici esempi di Design Pattern applicabili al linguaggio C# 3.0. A questo Indirizzo la presentazione del testo in lingua Inglese. Già disponibile su portali come Amazon.com.

Come NON progettare le Entities.

Technorati Tag: Domain Driven Design Certo trovare un gruppo di lavoro dove il DDD e TDD siano concetti conosciuti, è già una manna dal clielo! Se poi vengono applicati anche dei sani principi di Design, ben venga. Ma se poi nel dominio ti trovi una cosa del genere ... beh ti viene da pensare, qui non hanno capito un H del concetto di Dominio!! Se la Entity Hardware ha una Reference alla Entity Fornitore, ditemi voi cosa c...[bip] e [strabip] centra inserire una Property di tipo String che rappresenta il Nome Fornitore e...

NHibernate, relazioni e best practice

Technorati Tags: NHibernate;Best Practice Parliamo di best practice con NHibernate e della tanto discussa relazione many-to-many. Per prima cosa bisogna fare due esempi, giusto per capire il succo del discorso. Nel primo caso vi illustro una relazione many-to-many classica che non potrebbe, e ribadisco, non potrebbe essere risolta diversamente per praticità e logica applicativa. L' esempio è il classico Utente/Gruppo. In questo caso ho una classe Group che contiene dei gruppi di appartenenza e una classe User che le eguenti regole business : Un utente puo' avere 1 o...

NHibernate, many-to-many no, ma se proprio ...

Technorati Tag: NHibernate,many-to-many-to-many Questo piccolo tip è per tutti gli sprovveduti che, come me, anche se una marea di persone dicono che non va fatto, hanno comunque pensato di gestire delle collection con un bel many.to.many di NHibernate per scrivere quattro righe di codice in meno!! La best practice è di non usare il many.to.many con una situazione del genere : In questo caso non ho inserito una reference bidirezionale, ovvero Group è a se stante e non è per forza legato a User. (IMHO Analisi cannata!!) Comunque, in questo caso la soluzione Database era stata questa :    Che ripeto, non...

Gestire i figli, a chi il compito?

Technorati Tag: Domain Driven Design,Presentation Layer Beh diciamo che dal titolo potrei essere frainteso. Stiamo parlando di metodologie e nello specifico, legate allo sviluppo DDD. In questo caso voglio analizzare una divisione dei compiti, ovvero se questa problematica deve essere affrontata da chi e perchè. Abbiamo due Entities classiche una delle quali viene esposta come collection nell' altra come nell' UML sotto. Gestione dei figli. Un primo approccio classico potrebbe essere quello di avere due metodi all' interno dell' Entity Persona, e nello specifico, AddFiglio(Figlio entity) e RemoveFiglio(Figlio entity). In questo modo è...

Pattern Singleton in C#

Technorati Tag: Singleton Oggi voglio illustrare come è possibile implementare un pattern di tipo singleton utilizzando il nostro amato C#. Per cominciare diamo una definzione di pattern singleton. Un pattern singleton ha lo scopo di creare una sola istanza di una certa classe e consentire che l' accesso a tale classe sia Globale, in un punto noto. Come si implementa? Questo codice, molto semplice, rappresenta una classe implementata con questo pattern: // "Singleton" class Singleton  { private static Singleton instance;  protected...

Come ti mappo il many-to-many [NHibernate]

Technorati Tag: NHibernate,Many-to-many Sicuramente questo post scatena una marea di polemiche, ma ... io oggi ho voglia di mapparmi un bel many-to-many, per due semplici motivi. Primo ragiono ancora a DbDev e quindi per me la normalizzazione viene prima di tutto. Secondo non ho tempo per sta qui a creare enties che sono Collection di altre e cosi' via ... Veniamo a noi. Primo parte, il Dominio. Abbiamo una bella classe Computer esposta come segue: (Scusate ma il mio UML designar fa pena). Comunque, in...

Presentation per Master-Detail

Technorati Tag: Domain Driven Design,Presentation Layer Voglio esporre la mia idea riguardo ad una possibile implementazione di un Layer Presentation per una Finestra di tipo Master-Details. Lo scopo del presenter, cosi' lo chiamo io, è quello di fornire una Vista del domain model e due routine per applicare i cambiamenti. Lo schema sotto illustra uno schema classico Dove Il mio presentation non fa altro che prelevare le informazioni dalla view e passarle al DTO che si occuperà di aggiornare o creare una nuova Entity nel mio Database. Fin qui nessun problema, ma nel caso in...

DDD e il molti-a-molti

Technorati Tag: Domain Driven Design,Many-to-many In merito a questo discorso ho trovato e sentito pareri diversi e molto discordanti tra loro. Il discorso è il seguente. Ho una classica entità chiamata UtenteWindows che rappresenta un utente windows di Active Directory (come noterete, ridotto all' osso). Come ogni utente windows che si rispetti, ha una Collection di tipo IList<T> che contiene i suoi gruppi di appartenenza. Il problema nasce dal fatto che i gruppi windows originali sono documentati dalla Entity Gruppo e non devono essere modificati visto che esiste un apposito DAL che li preleva...

Ma cosa scrivevo prima?

Technorati Tag: Domain Driven Design Ormai sono 3 settimane che sto studiando Pattern come il DDD, il TDD e ho completamente abbandonato il mio vecchio pattern recordset. Sicuramente gli strumenti che mi hanno aiutato e che ancora mi stanno aiutando sono : Domain Driven Design di Eric Evan Applaying DDD with C# di Jimmy Nilsson SDK Project del presidente e combricola La prima cosa, arrivato ormai ad una fase dove sto realmente proiettando le conoscenze su una applicazione reale, è ma prima cosa scrivevo, di sicuro non...

Principi agili in C#

Technorati Tag: Domain Driven Design , Agile Segnalo questo libro per chiunque fosse interessato ad approfondire lo sviluppo tramite Domain Driven Design e sviluppo Agile. Consigliatomi da un amico, per chi ha già letto il manuale di Jimmy Nillson, da me segnalato settimana scorsa, approfondendo pero' l' argomento Interfacce legate alla parte di Repository. Purtroppo per questo libro bisogna spendere qualche soldino in piu' ed è reperibile tramite Amazoon. Quindi un mesetto di attesa per noi italiani ... Un' ottima recensione è proposta in questo articolo su CodeProject: recensione. Infine, giusto per...

Generazione automatica dell' ID.

Technorati Tag: Domain Driven Design , Identity , Entity Ho trovato molta difficoltà nel capire come e quando è necessario implementare per una Entity un ID univoco. Come prima cosa ho scoperto che Eric Evans distingue le entity proprio dal fatto che posseggono un Identity, composta da uno o piu' attributi, altrimenti sarebbero dei semplici Value Object. Una prima cosiderazione è: se lo scopo di una Identity è quello di classificare il mio Object come unico, allora due Object dello stesso tipo con la stessa Identity, sono due copie dello stesso oggetto. ...