Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Versioning Intefejsi?

[es] :: .NET :: Versioning Intefejsi?

[ Pregleda: 1729 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
82.117.202.*



+171 Profil

icon Versioning Intefejsi?26.05.2008. u 13:46 - pre 193 meseci
OK, interesuje me sledeca stvar. Da li koristiti intefejse u .NET kao u COM-u? Znaci, da bi ocuvali backward compatibility, deklarisati svaki put novi interfejs kada se pojavi potreba za novom funkcionalnoscu

Primer
Code:

interface IMyClass
{
   void Foo()
   ...
}

interface IMyClass2
{
   void Foo()
   ...
}
...


Pa tako nikad direktno ne koristiti klase nego interfejse u kodu gde je potrebna ta funckionalnost, recimo assembly1

Code:

...
IMyClass = MyClassFactory.GetMyClass()


assembly2

Code:

...
IMyClass2 = MyClassFactory.GetMyClass2()


Ili jednostavno deklarisati novu metodu u klasi

Code:

class MyClass
{
   void foo();
   void Foo2()
}










 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Versioning Intefejsi?26.05.2008. u 14:18 - pre 193 meseci
To verziranje preko interfejsa se koristilo samo za COM koji nije imao svoj versioning control da bi se osigurala backward kompatibilnost.
.NET ima svoj versioning koji funkcionise na nivou asemblija, pogledaj malo u Assembly Versioning i podlinkove da vidis kako to funkcionise, ali efektivno svaki asembli ima verziju koja se sastoji iz 4 broja (major, minor, build, revision) i .NET dozvoljava side-by-side asemblija sa istim imenom ako su ima major i minor razliciti.

Znaci ako imas assemblje "Negyxo, 1.1.122.0" i "Negyxo, 1.5.0.1455" oni mogu da postoje zajedno i program koji koristi starri ce ucitati stari, koji koristi novi ucitace novi, a ti uvek mozes da pustas patcheve (npr. 1.1.123.0 i 1.5.1.0) koji ce da zamene postojece ali u tom slucaju si ti kao autor duzan da obezbedis da metadata asemblija bude kompatibilan u okviru istog major/minor.
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ć
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.eunet.yu.



+171 Profil

icon Re: Versioning Intefejsi?26.05.2008. u 17:46 - pre 193 meseci
Hvala na odgovoru. Interesovalo me samo da li postoji smisao to raditi pored .NET versioning sistema.
 
Odgovor na temu

[es] :: .NET :: Versioning Intefejsi?

[ Pregleda: 1729 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.