NSK

Post riguardanti il Northwind Starter Kit

NSK: Entity Framework, finalmente

La domanda è di Aigor, ma poiché penso possa essere di comune interesse la pubblico anche qui. Da un paio di giorni, ho “committato” in NSK il DAL basato su Entity Framework 4. Utilizza (come da requisito) il Domain Model “vanilla” perché si avvale del mapping “POCO style” introdotto con la v4 dell’O/RM di casa Microsoft. Ho temporaneamente desistito dall’implementazione del mapping “Fluent” perché la CTP attuale del toolkit “Code Only” (che nel gergo MS significa “POCO & fluent” <g>) per EF è ancora troppo acerba, ma appena arriverà una nuova build (e AFAIK non dovrebbe mancare molto) riprenderò i...

Andrea&MVC @ DomusDotNet

Sentirsi a casa anche se, da casa, sei lontano più di 700 km. E’ questa la miglior descrizione che potrei dare della mia partecipazione al primo evento di DomusDotNet, e per questo posso solo ringraziare. Le slide sono qui, la demo è la solita. Alla prossima, e speriamo che sia presto :-) Technorati Tag: community,DomusDotNet,NSK,MVC

NSK: status update

Piccolo recap: A partire dal post di Giulio sul forum GUISA, il mapping fluent/POCO/code only con EF4 è la domanda che ultimamente ricevo più spesso. Un po’ per rispondere a tutti in “colpo unico”, un po’ perché la documentazione è effettivamente molto carente (in fondo si tratta di una feature in CTP3), ho iniziato a lavorare “seriamente” sul DAL EF4 di NSK: è ben lungi dall’essere finito, ma la “raffica” di check-in di ieri dovrebbe iniziare ad essere un significativo supporto per coloro che desiderassero intraprendere questa strada Con la definizione dei...

Stringa, tu mi hai provocato… E io te distruggo

De gustibus tutta la vita, però io le stringhe cablate nel codice non le sopporto proprio. Una vita intera a tentare di evitarla e poi ti arriva MVVM che, a botte di implementazioni di INotifyPropertyChanged ti fa spuntare come funghi “robe” di questo tipo: private string emailAddress; /// <summary> /// Customer e-mail address /// </summary> public string EmailAddress { get { ...

NSK, alcune risposte

Ok, a valle del mio precedente post su NSK ho ricevuto via mail/blog alcune domande, quindi “impacchetto” tutto qui e rispondo a quelle più ricorrenti: MVVM/Prism: ci sto lavorando (valido sia per NSK sia per la seconda edizione del libro). “Attendere prego!” (cit.) FluentNH (e suburbia, quindi anche ConfORM): sorry, probabilmente è che sono talmente abituato ai “cari vecchi file xml” da non riuscire ancora ad apprezzare il mapping “by code”. Prometto di riprovarci con più convinzione :-) Vedi punto precedente: nel DAL basato su Entity Framework sto mappando “by...

NSK: da 'vnext' a 'vnow'

Complici una serie di motivi (a partire dalle prime chiacchiere sulla ipotetica/futuribile seconda edizione del mattoncino), ultimamente ho introdotto un po' di codice "nuovo" in NSK. Per chi non lo conoscesse, NSK è il progetto open source che Managed Designs ha avviato nel 2004 per poter disporre di una reference implementation di architetture layered basate sul .NET stack: il lato positivo della vicenda è che una quota significativa della codebase e delle scelte di architettura/design proviene dai progetti "real world" che realizziamo in bottega, il lato negativo è che essendo un "toy project" al quale da un...

DotNetCampus 2010: slide & recap

(Come al solito) In ritardo, ecco le slide della mia sessione “Architecting Web Applications” @ DotNetCampus; la demo è il “solito” NSK: la codebase online non è ancora aggiornata, ma cercherò di “committare” ASAP gli update. Colgo l’occasione per ringraziare e complimentarmi con lo staff per la splendida riuscita dell’evento: grande partecipazione di pubblico (quasi 500 presenti) ed addirittura un “passaggio televisivo” a TG3 Neapolis (per gli stomaci forti, al minuto 5:40 appaiono anche il sottoscritto ed il “portatile eretico”, a.k.a. “lo stronzetto” <g>). Un “grazie” particolare, infine, a RoB per la graaaaaaande pazienza che ha avuto con il...

Refresh4 per NSK

Ho migrato NSK alla versione refresh4 del framework ASP.NET MVC rilasciata ieri, "fondendo" la web app con il sample project standard in modo da avere "gratis" l'implementazione della login: poichè è basata sul SqlMembershipProvider, è necessario creare il "solito" aspnetdb.mdf in App_Data. Non ho sperimentato alcun problema particolare, se non un "bisticcio" con la custom controller factory che ho implementato per iniettare nei controller l'istanza del data context: sono incappato in un comportamento quanto meno "particolare" di Unity ed ho piazzato un piccolo hack workaround in Application_OnStart per risolverlo. Technorati Tag: ASP.NET,MVC,NSK,Unity

Bigino architetturale

Venerdi io e il socio ci siamo avventurati in una delle nostre chat "tenniche". Man mano che proseguivamo ho pensato che, malgrado le imprecisioni e le "approssimazioni" tipiche della "presa diretta", tutto sommato quanto stavamo scrivendo costituisse un interessante "bigino" architetturale e abbiamo deciso di pubblicarla.
(Clicka qui per leggere)

Nuovo ModelViewPresenter @ NSK

Ho approfittato di alcuni viaggi in treno effettuati negli ultimi giorni per estendere l'implementazione di Model View Presenter in NSK. Nulla di trascendentale, ma le nuove view sono basate su un subset ("sanitizzato", come direbbero i Microsoft guys) del mini-framework MVP che io e Markino abbiamo implementato per i progetti che realizziamo in Managed Designs. In pratica, oltre alle "solite" interfacce che definiscono i contratti caratteristici di view e presenter, offre alcune implementaziono concrete e generiche utilizzabili come scorciatoia. Technorati Tags: Managed Designs, model view presenter, NSK, northwind starter kit, software architecture

NH 1.2 GA per NSK

Ho finalmente aggiornato il DAL del Northwind Starter Kit affinchè usi la versione "production" di NHibernate 1.2, correggendo un paio di errori di compilazione dovuti ad un piccolo cambio nella API di impostazione delle projection avvenuto tra l'ultima versione RC e quella definitiva. Prossimi passi: aumentare la copertura del mapping e ultimare l'implementazione di MVP lato web, in modo da allinearla a quella offerta dalle view basate su Windows Forms e Windows Presentation Foundation.   Technorati tags: nhibernate, northwind starter kit

Tour "Architect Day" @ Trento: ci si organizza?

Dopo Omid e Lorenzo, lunedi prossimo toccherà a me concludere presso l'università di Trento il mini tour co-organizzato da GUISA e Microsoft Italia. Innanzitutto, parliamo di cose serie: poichè io sarò a Trento per tutta la settimana, potremmo organizzare una cena post-evento. Gli interessati facciano un fischio. <g> Largo, ora, alle... Amenità: sto introducendo qualche modifica alle slide perchè la settimana trascorsa a Redmond mi permette di introdurre (NDA vari permettendo) qualche considerazione "futurista" inerente le tematiche: data mapping, testing e presentation layer (soprattutto lato web). In ogni caso, l'agenda rimarrà molto pragmatica ed orientata alle soluzioni/scelte operabili *oggi*, motivo per il quale includerò...

GUISA in tour... Finalmente!

Ci stavamo lavorando da un po', e finalmente siamo riusciti ad organizzarlo: come anticipato da Giorgio, a marzo si svolgerà presso alcune università italiane (Bologna, Pisa e Trento) il primo ciclo di conferenze itineranti organizzate da GUISA in collaborazione con Microsoft Italia. Ho redatto l'agenda cercando di condensare in una giornata full immersion i contenuti degli Architecture Days, contando però sul preziosissimo supporto del "senno di poi": in pratica, non mi sto limitando ad assemblare il materiale, ma lo sto integrando con le osservazioni nate dopo il workshop, nonchè grazie al feedback ricevuto dai partecipanti. Ad esempio, le parti relative al...

NSK: Tu chiamale, se vuoi... Emozioni!

Cappuccino e brioche al cioccolato (sono ottime, parola di lupetto!) al bar di Jack: 2 euro. Biglietto per il concerto dei Muse all'arena di Verona: 34,50 euro (ben spesi) L'università di Copenhagen che basa su Northwind Starter Kit il proprio studio di comparazione tra architetture layered implementate con J2EE e .NET (citando -vedi pagina 48- Managed Designs): impagabile! P.S.: Peccato abbiano usato la codebase (cambiando i nomi dei namespace) di maggio 2006; si sono "persi" l'implementazione di: unit of work, query object, model view presenter e un bel refactoring generale... Technorati tags: NSK, Northwind Starter Kit, Managed Designs

[NSK] Work in progress

Update interessante per NSK, che integra quanto anticipato: Ho completato il query model (sostanzialmente una implementazione di Query Object), che ora permette di esprimere le clausole di ordinamento dei risultati Ho corretto il bug del DAL basato su Hibernate: sostanzialmente, il QueryTranslator in alcuni contesti faceva cilecca (lo so che sono un pollo: prima di correggere il bug, avrei dovuto scrivere un test che lo scatena) La Unit of Work ora è "disposable by design" (work item chiuso) Ho integrato una rudimentale (leggi: schifosa) implementazione di identity map....

Talking about a Revolution...

...And it sounds like a whisper (cit.) Revolution è il codename della nuova versione del sito UGIdotNET, (in parte) pre-pre-pre-visionabile qui: http://vnext.ugidotnet.org. Perchè "Revolution"? Perchè è riscritto "from scratch", da zero. Tempo addietro provai a portare la codebase attuale verso la v2 del framework, ma ad un certo punto capii che sarei riuscito "solo" ad introdurre alcune feature del nuovo framework, senza goderne davvero dei benefici. Ed allora... Revolution. Revolution perchè oggi posso "barare" e partire nello sviluppo da basi differenti rispetto a quelle a mia disposizione nel lontano 2001, quando realizzai il "core" della codebase che, in un modo o nell'altro,...

Data Access Layer 101

Forse ha ragione David: la mia risposta al post di Giulio (per quanto sintetica e quindi non esaustiva) non è proprio da buttar via. Per dovere di cronaca, la riporto qui. (Clicka per leggere)

Northwind Starter Kit: è tempo di MVC

Ho cambiato idea: la prima GUI *architetturalmente* decente disponibile per il Northwind Starter Kit sarà web e basata su Model View Controller, quindi nisba (per il momento) Model View Presenter. Non solo: l'implementazione MVC sarà molto semplice, e non utilizzerà toolkit esterni; il motivo è semplice: uso NSK come applicazione reference per i miei corsi ed eventi/webcast, ed alla domanda "Che libri consigli per studiare le tematiche relative al design?" rispondo sempre "Almeno GoF e P of EAA". Spesso, inoltre, questi testi sono già posseduti dai partecipanti. Ebbene, in [P of EAA] Martin presenta una semplice implementazione ASP.NET di MVC, fondamentalmente...

Model View Presenter per NSK

Chiunque abbia scaricato il famigerato Northwind Starter Kit si sarà accorto che, mentre i layer business e data sono già strutturati in modo abbastanza adeguato, lo stesso non si può affermare per la parte GUI. Ciò è avvenuto per motivi "storici" che potrei spiegare in separata sede (un altro post ?), se qualcuno fosse interessato al "dietro le quinte" di questo progetto. Rimanendo in tema, però, rimane la "questione GUI": ho quindi deciso di focalizzarmi, in questo periodo, sullo sviluppo di questa parte di progetto. Mi piacerebbe, ad esempio, che NSK disponesse di GUI multiple, implementate con strategie differenti: per esempio,...

«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011