ORM

There are 11 entries for the tag ORM

Cavar il sangue dalle rape: siiiii puòòòòò… Faaareeeee!

Basta spremere mooooolto forte: questa fa il paio con la “scoperta” di POCO (ricordate?) e vince a mani basse l’edizione 2010 del premio “Meglio tardi che mai”. Non sono cattivi, è solo che stanno imparando cosa sia un O/RM (e cosa serva ai dev che li vogliano/debbano usare *seriamente*) man mano che lo sviluppano. Ricapitolando: Scoprono a “sviluppo di v1 ultimato” che il mondo conosce da anni il concetto di “Persistence Ignorance” Scoprono a “sviluppo v2/v4 finito” che il mondo ha scoperto le gioie “refactoring safe” del mapping “by code” ...

Grazie NHibernate

Era giugno 2002, e partecipavo ad un private meeting con alcuni PM di Microsoft Corporation ed alcuni soliti noti: ad un certo punto, Ingo chiese lumi sullo stato di avanzamento della implementazione un “certo” ObjectSpaces. ObjectSpaces, per la cronaca, era l’O/RM che avrebbe dovuto fare la comparsa all’interno del framework 2.0: alla facciazza di quelli che pensano che MS sia sempre indietro nell’adottare pratiche e soluzioni, a Redmond stavano lavorando per fornirci un O/RM “out of the box” nel 2004 (prima del famoso/famigerato “Longhorn Reset” che portò sia Vista sia il FX 2.0 ad essere rilasciati in ritardo). Il...

“I predict a riot” (cit.) @ #sqlconf09

Domani, con il beneplacito di Greenpeace e WWF (che supportano la causa “Tutela per gli O/RM”) terrò presso la SQL Server & BI Conference 09 una sessione intitolata “Impact of using an O/RM with SQL Server”. Due-info-due per i potenziali interessati: durante i 75 minuti non ci saranno effetti speciali o fuochi d’artificio, ma “solo” le considerazioni derivanti dai 5 anni di esperienza d’uso di vari O/RM (EF, iBatis, NHibernate, …) nei progetti che abbiamo realizzato in azienda, dando anche (ove possibile) una “sbirciata” al loro codice sorgente (“loro”==dei progetti :-) ). P.S.: che titolo del Kaiser (Chiefs) per...

O/RM: falsi miti vs. cruda realtà

Pensieri in libertà: Un (buon) compilatore produrrà "sempre" un codice maggiormente ottimizzato in confronto a quello prodotto da un essere umano, altrimenti io lavorerei ancora in assembly su workstation RISC. Un compilatore JIT ha la possibilità di produrre il codice migliore date le condizioni di runtime. Non sei d'accordo? No problem: smetti di usare .NET/il CLR <g> Preparati: Babbo Natale non esiste e un O/RM è (anche) un compilatore JIT di codice SQL. Ora fai un sospirone e rileggi i punti precedenti :-) Se il...

"MS vs. Solution Architects": ricapitoliamo

Ricapitoliamo: MS ammette pubblicamente che la PI è un punto fondamentale per un O/RM Per evitare di soffrire ulteriormente di problemi di eiaculazione precoce, MS ha allestito un focus group dedicato alla v2 di Entity Framework coinvolgendo *finalmente* gente esperta di queste tematiche: Eric Evans, Jimmy Nilsson, Martin Fowler, Pavel Hruby, ... Per supportare *seriamente* PI c'è bisogno di poter "proxare al volo" il DM Per "proxare" al volo senza eccessive penalizzazioni in performance serve Reflection.Emit Reflection.Emit è incapsulato egregiamente da...

Community Days: da Query Object a O/RM

Ok, sembra che il corso di settimana scorsa sia piaciuto e che, per l'ennesima volta, il tempo non sia stato sufficiente, giacchè Alessio avrebbe gradito un approfondimento sul tema "Query Object". Provo a "rimediare" :-) In realtà la richiesta di Alessio sottointende 3 distinte tematiche: "Query Object": chi era costui? Implementazione "hand made" di un DAL capace di gestire in maniera sensata la persistenza di un DM Produzione "al volo" del codice SQL Andiamo in ordine: il design pattern query object è una specializzazione...

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)

Identity Map non è una cache

Questo post (dedicato a LINQ to SQL) di Corrado è un buon punto di partenza per una riflessione dedicata ad una delle caratteristiche salienti (e spesso poco comprese) di ogni strumento O/RM, ossia l'Identity Map. (continua)

Ok, io e Janky non siamo d'accordo...

...E' evidente (ma lo sapevo :-) ). Da anni sostengo che i pattern non siano nè dogmi nè "la Forza", ma li paragono alle centurie di Nostradamus, poichè vanno interpretati. Chiunque, a partire dal famigerato workshop "Architecture & Management" di dicembre 2004, mi abbia sentito parlare di questo argomento si è "beccato" (e si sarà stufato, presumibilmente) di questa mia affermazione. Citando Fowler (non per "amore", bensì perchè dobbiamo pur basarci su una definizione), "the essence of an Active Record is a Domain Model in which the classes match very closely to the record structure of an underlying database". *Chi* o...

O/RM: e sdoganamento fu

Tutto come previsto: il rilascio del framework 3.5 si avvicina, ed i post su LINQ spuntano come funghi. Non so se essere contento perchè finalmente l'uso di O/RM non sarà più considerato un vezzo radical chic oppure rattristarmi al pensiero che sia stato necessario il rilascio di un O/RM funzionalmente scarso, purchè prodotto da Microsoft, per sdoganare l'uso di questi tool. Technorati Tags: linq, ORM

"Specifically in this release, we have focused on "database first" scenarios" (cit.)

WOW! Microsoft ha rilasciato la beta 2 dell'Entity Framework! Tra le sfolgoranti novità c'è addirittura la "...increased persistence ignorance in entity data classes..."! Ehi! Ma hanno rilasciato anche la CTP1 degli "Entity Framework Tools", così possiamo mappare il nostro domain model senza impazzire con i file xml!!! Però c'è qualcosa che non mi convince... Che sia la frase (pubblicata qui): "Specifically in this release, we have focused on "database first" scenarios"? <g> Technorati Tags: LINQ, ORM, entity framework, Microsoft

«ottobre»
domlunmarmergiovensab
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789