Citat:
Reljam: To je jedan i od razloga zasto .NET tipuje na verzioniranje po celoj verziji - jeste, teoretski radice ako pokupi neku drugu verziju DLLa, ali to nije nesto na sta mozes da se oslonis. Ako prodajes milionske tiraze, neces da se zezas da ti se javlja par hiljada ljudi dnevno jer im File / Print Preview ne radi ako se instalira Norton 2005 koji im je instalirao malo noviju verziju necega.
Zapravo, ako ispoštuješ .net verzioniranje do kraja, znači ne samo promišljene releasove sa adekvatno uvećanim major/minor/build ili revision, nego i sa strong name, ne može da se desi da Norton2005 instalira npr "FileShare.Common .ver 1:0:1670:35038" preko tvog "FileShare.Common .ver 1:0:1000:1" pošto vam PublicKeyToken-i neće biti isti. Tako da jedinu brljotinu sa verzioniranjem i pucanjem buildova možeš da napraviš sam, ako izmeniš postojeći metadata a ne uvećaš minor.
Ja to čak i rigoroznije gledam i uvek kažem ljudima, za sve .net tipove unutar jednog assembly-a tretirajte kombinaciju (Name, major, minor i PKToken) kao COM interface GUID. Šta je jedan od osnovnih postulata COM interface-a:
Interfaces are IMMUTABLE, if you change interface layout, you must assign a new GUID. U prevodu, jednom kad pustiš interface u "divljinu", više ga ne smeš menjati, možeš samo napraviti novi. Analogno u .NETu ako promeniš neki od tipova u assembly-u moraš da promeniš bar jednu stavku od onih 4, najjednostavnije je naravno povećati minor verzije... Potreban je mali trud da se ovo ispoštuje, čak i u situacijama kad je 100% koda pod vašom kontrolom, možda jednog dana neće biti i možda sebi i nekome uštedite vreme i živce.
Citat:
Kod DirectXa je druga prica - 3D hardver se toliko menja, da to sa sobom vuce citave promene modela programiranja (gde odose render stateovi, FVF vertex deklaracije, itd)
Dobro, ovo je malo nesrećno izabran primer, priznajem. Pomenuo sam to pošto pretpostavljam da se više ljudi srelo sa DirectXom nego sa core-banking enterprise komponenetama
Ali opet, zamisli da je verzioniranje rađeno po .net filozofiji. I dan danas koristio samo IDirect3D interfejs
samo iz "Microsoft.Direct3D .ver 9:0:3:x" assembly-a
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić