Je developpe des composants en vb.net utilisables dans mes pages aspx.
Je m'interesse aujourd'hui à l'évolution de ces composants dans le temps et
c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer
un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple :
_____________________________
'Version 1
'Implementation
Public interface IA
public function Dessine()
.../...
End Interface
Public class A
implements IA
function Dessine()
'--code
end function
.../...
end class
'Utilisation
Dim test as IA = new A
test.Dessine()
______________________________
'Version 2a
'si les modifications touchent uniquement Dessine je peux faire ce qui suit
'Implementation
Public interface IA2
public function Dessine2()
.../...
End Interface
Public class A
implements IA
implements IA2
function Dessine()
'--code
end function
function Dessine2()
'--code
end function
.../...
end class
'Utilisation
Dim testnouveau as IA2 = new A
testnouveau.Dessine2()
______________________________
'Version 2b
'si les modifcations touchent enormement de choses dans ma classe, alors je
crée une nouvelle classe et une nouvelle Interface.
Public interface IB
public function Dessine()
.../...
End Interface
Public class B
implements IB
function Dessine()
'--code
end function
.../...
end class
'Utilisation
Dim testnouveau as IB = new B
testnouveau.Dessine()
=================================
Conclusion :
Dans le cas où je n'aurais pas utilisé d'interface :
La version 2a est toujours possible, je définie une méthode Dessine2 et mes
anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appel à
la même classe.
La version 2b est toujours possible car tout a changé donc je fais appel à
une nouvelle classe.
=================================
Voici ce que j'ai compris des interfaces. J'imagine que je suis à coté de la
plaque car j'ai du mal à voir l'interet profond pour la gestion des
mofications d'une classe.
Si quelqu'un peut me donner un exemple ou un tutoriel sur le net....
L'objectif final est de comprendre le sens profond des interfaces de façon à
implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Haziz
Salut,
Je vais essayé de te répondre en une seule phrase :
"L"une des principales constantes dans le developpement Informatique.... c'est le CHANGEMENT"
allez pour t'aider à avancer dans ta quête, Interface permet (EN AUTRE) de gérer les comportements.
Bon courage. Haziz
Tony (no_spam) a écrit :
Je developpe des composants en vb.net utilisables dans mes pages aspx. Je m'interesse aujourd'hui à l'évolution de ces composants dans le te mps et c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple : _____________________________ 'Version 1 'Implementation Public interface IA public function Dessine() .../... End Interface
Public class A implements IA function Dessine() '--code end function .../... end class
'Utilisation Dim test as IA = new A test.Dessine() ______________________________ 'Version 2a 'si les modifications touchent uniquement Dessine je peux faire ce qui su it 'Implementation Public interface IA2 public function Dessine2() .../... End Interface
Public class A implements IA implements IA2 function Dessine() '--code end function function Dessine2() '--code end function .../... end class
'Utilisation Dim testnouveau as IA2 = new A testnouveau.Dessine2() ______________________________ 'Version 2b 'si les modifcations touchent enormement de choses dans ma classe, alors je crée une nouvelle classe et une nouvelle Interface. Public interface IB public function Dessine() .../... End Interface
Public class B implements IB function Dessine() '--code end function .../... end class
'Utilisation Dim testnouveau as IB = new B testnouveau.Dessine()
======================== ========= Conclusion : Dans le cas où je n'aurais pas utilisé d'interface : La version 2a est toujours possible, je définie une méthode Dessine2 et mes anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appe l à la même classe. La version 2b est toujours possible car tout a changé donc je fais appe l à une nouvelle classe. ======================== =========
Voici ce que j'ai compris des interfaces. J'imagine que je suis à cot é de la plaque car j'ai du mal à voir l'interet profond pour la gestion des mofications d'une classe. Si quelqu'un peut me donner un exemple ou un tutoriel sur le net.... L'objectif final est de comprendre le sens profond des interfaces de fa çon à implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.
Salut,
Je vais essayé de te répondre en une seule phrase :
"L"une des principales constantes dans le developpement
Informatique.... c'est le CHANGEMENT"
allez pour t'aider à avancer dans ta quête, Interface permet (EN
AUTRE) de gérer les comportements.
Bon courage.
Haziz
Tony (no_spam) a écrit :
Je developpe des composants en vb.net utilisables dans mes pages aspx.
Je m'interesse aujourd'hui à l'évolution de ces composants dans le te mps et
c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer
un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple :
_____________________________
'Version 1
'Implementation
Public interface IA
public function Dessine()
.../...
End Interface
Public class A
implements IA
function Dessine()
'--code
end function
.../...
end class
'Utilisation
Dim test as IA = new A
test.Dessine()
______________________________
'Version 2a
'si les modifications touchent uniquement Dessine je peux faire ce qui su it
'Implementation
Public interface IA2
public function Dessine2()
.../...
End Interface
Public class A
implements IA
implements IA2
function Dessine()
'--code
end function
function Dessine2()
'--code
end function
.../...
end class
'Utilisation
Dim testnouveau as IA2 = new A
testnouveau.Dessine2()
______________________________
'Version 2b
'si les modifcations touchent enormement de choses dans ma classe, alors je
crée une nouvelle classe et une nouvelle Interface.
Public interface IB
public function Dessine()
.../...
End Interface
Public class B
implements IB
function Dessine()
'--code
end function
.../...
end class
'Utilisation
Dim testnouveau as IB = new B
testnouveau.Dessine()
======================== =========
Conclusion :
Dans le cas où je n'aurais pas utilisé d'interface :
La version 2a est toujours possible, je définie une méthode Dessine2 et mes
anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appe l à
la même classe.
La version 2b est toujours possible car tout a changé donc je fais appe l à
une nouvelle classe.
======================== =========
Voici ce que j'ai compris des interfaces. J'imagine que je suis à cot é de la
plaque car j'ai du mal à voir l'interet profond pour la gestion des
mofications d'une classe.
Si quelqu'un peut me donner un exemple ou un tutoriel sur le net....
L'objectif final est de comprendre le sens profond des interfaces de fa çon à
implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.
Je vais essayé de te répondre en une seule phrase :
"L"une des principales constantes dans le developpement Informatique.... c'est le CHANGEMENT"
allez pour t'aider à avancer dans ta quête, Interface permet (EN AUTRE) de gérer les comportements.
Bon courage. Haziz
Tony (no_spam) a écrit :
Je developpe des composants en vb.net utilisables dans mes pages aspx. Je m'interesse aujourd'hui à l'évolution de ces composants dans le te mps et c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple : _____________________________ 'Version 1 'Implementation Public interface IA public function Dessine() .../... End Interface
Public class A implements IA function Dessine() '--code end function .../... end class
'Utilisation Dim test as IA = new A test.Dessine() ______________________________ 'Version 2a 'si les modifications touchent uniquement Dessine je peux faire ce qui su it 'Implementation Public interface IA2 public function Dessine2() .../... End Interface
Public class A implements IA implements IA2 function Dessine() '--code end function function Dessine2() '--code end function .../... end class
'Utilisation Dim testnouveau as IA2 = new A testnouveau.Dessine2() ______________________________ 'Version 2b 'si les modifcations touchent enormement de choses dans ma classe, alors je crée une nouvelle classe et une nouvelle Interface. Public interface IB public function Dessine() .../... End Interface
Public class B implements IB function Dessine() '--code end function .../... end class
'Utilisation Dim testnouveau as IB = new B testnouveau.Dessine()
======================== ========= Conclusion : Dans le cas où je n'aurais pas utilisé d'interface : La version 2a est toujours possible, je définie une méthode Dessine2 et mes anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appe l à la même classe. La version 2b est toujours possible car tout a changé donc je fais appe l à une nouvelle classe. ======================== =========
Voici ce que j'ai compris des interfaces. J'imagine que je suis à cot é de la plaque car j'ai du mal à voir l'interet profond pour la gestion des mofications d'une classe. Si quelqu'un peut me donner un exemple ou un tutoriel sur le net.... L'objectif final est de comprendre le sens profond des interfaces de fa çon à implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.
Haziz
Plus sérieusement,
Il y a eu la même question, il y a quelques temps sur le forum developpez.com
Bonne lecture. Et désolé pour la touche d'humour ;-)
Haziz
Tony (no_spam) a écrit :
Je developpe des composants en vb.net utilisables dans mes pages aspx. Je m'interesse aujourd'hui à l'évolution de ces composants dans le te mps et c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple : _____________________________ 'Version 1 'Implementation Public interface IA public function Dessine() .../... End Interface
Public class A implements IA function Dessine() '--code end function .../... end class
'Utilisation Dim test as IA = new A test.Dessine() ______________________________ 'Version 2a 'si les modifications touchent uniquement Dessine je peux faire ce qui su it 'Implementation Public interface IA2 public function Dessine2() .../... End Interface
Public class A implements IA implements IA2 function Dessine() '--code end function function Dessine2() '--code end function .../... end class
'Utilisation Dim testnouveau as IA2 = new A testnouveau.Dessine2() ______________________________ 'Version 2b 'si les modifcations touchent enormement de choses dans ma classe, alors je crée une nouvelle classe et une nouvelle Interface. Public interface IB public function Dessine() .../... End Interface
Public class B implements IB function Dessine() '--code end function .../... end class
'Utilisation Dim testnouveau as IB = new B testnouveau.Dessine()
======================== ========= Conclusion : Dans le cas où je n'aurais pas utilisé d'interface : La version 2a est toujours possible, je définie une méthode Dessine2 et mes anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appe l à la même classe. La version 2b est toujours possible car tout a changé donc je fais appe l à une nouvelle classe. ======================== =========
Voici ce que j'ai compris des interfaces. J'imagine que je suis à cot é de la plaque car j'ai du mal à voir l'interet profond pour la gestion des mofications d'une classe. Si quelqu'un peut me donner un exemple ou un tutoriel sur le net.... L'objectif final est de comprendre le sens profond des interfaces de fa çon à implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.
Plus sérieusement,
Il y a eu la même question, il y a quelques temps sur le forum
developpez.com
Bonne lecture.
Et désolé pour la touche d'humour ;-)
Haziz
Tony (no_spam) a écrit :
Je developpe des composants en vb.net utilisables dans mes pages aspx.
Je m'interesse aujourd'hui à l'évolution de ces composants dans le te mps et
c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer
un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple :
_____________________________
'Version 1
'Implementation
Public interface IA
public function Dessine()
.../...
End Interface
Public class A
implements IA
function Dessine()
'--code
end function
.../...
end class
'Utilisation
Dim test as IA = new A
test.Dessine()
______________________________
'Version 2a
'si les modifications touchent uniquement Dessine je peux faire ce qui su it
'Implementation
Public interface IA2
public function Dessine2()
.../...
End Interface
Public class A
implements IA
implements IA2
function Dessine()
'--code
end function
function Dessine2()
'--code
end function
.../...
end class
'Utilisation
Dim testnouveau as IA2 = new A
testnouveau.Dessine2()
______________________________
'Version 2b
'si les modifcations touchent enormement de choses dans ma classe, alors je
crée une nouvelle classe et une nouvelle Interface.
Public interface IB
public function Dessine()
.../...
End Interface
Public class B
implements IB
function Dessine()
'--code
end function
.../...
end class
'Utilisation
Dim testnouveau as IB = new B
testnouveau.Dessine()
======================== =========
Conclusion :
Dans le cas où je n'aurais pas utilisé d'interface :
La version 2a est toujours possible, je définie une méthode Dessine2 et mes
anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appe l à
la même classe.
La version 2b est toujours possible car tout a changé donc je fais appe l à
une nouvelle classe.
======================== =========
Voici ce que j'ai compris des interfaces. J'imagine que je suis à cot é de la
plaque car j'ai du mal à voir l'interet profond pour la gestion des
mofications d'une classe.
Si quelqu'un peut me donner un exemple ou un tutoriel sur le net....
L'objectif final est de comprendre le sens profond des interfaces de fa çon à
implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.
Bonne lecture. Et désolé pour la touche d'humour ;-)
Haziz
Tony (no_spam) a écrit :
Je developpe des composants en vb.net utilisables dans mes pages aspx. Je m'interesse aujourd'hui à l'évolution de ces composants dans le te mps et c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple : _____________________________ 'Version 1 'Implementation Public interface IA public function Dessine() .../... End Interface
Public class A implements IA function Dessine() '--code end function .../... end class
'Utilisation Dim test as IA = new A test.Dessine() ______________________________ 'Version 2a 'si les modifications touchent uniquement Dessine je peux faire ce qui su it 'Implementation Public interface IA2 public function Dessine2() .../... End Interface
Public class A implements IA implements IA2 function Dessine() '--code end function function Dessine2() '--code end function .../... end class
'Utilisation Dim testnouveau as IA2 = new A testnouveau.Dessine2() ______________________________ 'Version 2b 'si les modifcations touchent enormement de choses dans ma classe, alors je crée une nouvelle classe et une nouvelle Interface. Public interface IB public function Dessine() .../... End Interface
Public class B implements IB function Dessine() '--code end function .../... end class
'Utilisation Dim testnouveau as IB = new B testnouveau.Dessine()
======================== ========= Conclusion : Dans le cas où je n'aurais pas utilisé d'interface : La version 2a est toujours possible, je définie une méthode Dessine2 et mes anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appe l à la même classe. La version 2b est toujours possible car tout a changé donc je fais appe l à une nouvelle classe. ======================== =========
Voici ce que j'ai compris des interfaces. J'imagine que je suis à cot é de la plaque car j'ai du mal à voir l'interet profond pour la gestion des mofications d'une classe. Si quelqu'un peut me donner un exemple ou un tutoriel sur le net.... L'objectif final est de comprendre le sens profond des interfaces de fa çon à implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.
spi100
L'interet principal est que tu peux écrire une fonction qui prend en argument un objet, et la seul spécification que tu dois indiquer est qu'il doit implémenter une interface. Je te donne un exemple en C#, je ne connais pas VB
Le type IEnumerable indique au compilo que theList a une methode MoveNext. Ta fonction sera réutilisable pour n'importe quel objet qui implémente cette interface.
On aurait pu utiliser la notion de classe abstraite comme en C++, mais finalement les concepteurs de C# et VB.net ont préféré interdire l'héritage multiple. Si une classe ne peut hériter que d'une seule autre classe, en compensation, elle peut implémenter autant d'interfaces que nécessaire.
L'interet principal est que tu peux écrire une fonction qui prend en
argument un objet, et la seul spécification que tu dois indiquer est
qu'il doit implémenter une interface. Je te donne un exemple en C#, je
ne connais pas VB
Le type IEnumerable indique au compilo que theList a une methode
MoveNext. Ta fonction sera réutilisable pour n'importe quel objet qui
implémente cette interface.
On aurait pu utiliser la notion de classe abstraite comme en C++, mais
finalement les concepteurs de C# et VB.net ont préféré interdire
l'héritage multiple. Si une classe ne peut hériter que d'une seule
autre classe, en compensation, elle peut implémenter autant
d'interfaces que nécessaire.
L'interet principal est que tu peux écrire une fonction qui prend en argument un objet, et la seul spécification que tu dois indiquer est qu'il doit implémenter une interface. Je te donne un exemple en C#, je ne connais pas VB
Le type IEnumerable indique au compilo que theList a une methode MoveNext. Ta fonction sera réutilisable pour n'importe quel objet qui implémente cette interface.
On aurait pu utiliser la notion de classe abstraite comme en C++, mais finalement les concepteurs de C# et VB.net ont préféré interdire l'héritage multiple. Si une classe ne peut hériter que d'une seule autre classe, en compensation, elle peut implémenter autant d'interfaces que nécessaire.
Tony
merci beaucoup pour la réponse. Je trouve ça marrant parceque la notion d'heritage revient toujours sur le tapis. Le concept est encore un peu "abstrait" pour moi :o)
J'étais interessé par les interfaces surtout parceque j'avais lu que c'était une sorte de contrat et que ça permettait de mieux gérer les évolutions/modifications d'une classe dans le temps. Je crois qu'il faut que je me jette complétement dans l'objet et les avantages et inconvénients d'une technique m'apparaitront sans doute mieux.
"spi100" a écrit dans le message de news:
L'interet principal est que tu peux écrire une fonction qui prend en argument un objet, et la seul spécification que tu dois indiquer est qu'il doit implémenter une interface. Je te donne un exemple en C#, je ne connais pas VB
Le type IEnumerable indique au compilo que theList a une methode MoveNext. Ta fonction sera réutilisable pour n'importe quel objet qui implémente cette interface.
On aurait pu utiliser la notion de classe abstraite comme en C++, mais finalement les concepteurs de C# et VB.net ont préféré interdire l'héritage multiple. Si une classe ne peut hériter que d'une seule autre classe, en compensation, elle peut implémenter autant d'interfaces que nécessaire.
merci beaucoup pour la réponse.
Je trouve ça marrant parceque la notion d'heritage revient toujours sur le
tapis.
Le concept est encore un peu "abstrait" pour moi :o)
J'étais interessé par les interfaces surtout parceque j'avais lu que c'était
une sorte de contrat et que ça permettait de mieux gérer les
évolutions/modifications d'une classe dans le temps.
Je crois qu'il faut que je me jette complétement dans l'objet et les
avantages et inconvénients d'une technique m'apparaitront sans doute mieux.
"spi100" <stephane.padovani@wanadoo.fr> a écrit dans le message de news:
1169542113.403602.138420@s48g2000cws.googlegroups.com...
L'interet principal est que tu peux écrire une fonction qui prend en
argument un objet, et la seul spécification que tu dois indiquer est
qu'il doit implémenter une interface. Je te donne un exemple en C#, je
ne connais pas VB
Le type IEnumerable indique au compilo que theList a une methode
MoveNext. Ta fonction sera réutilisable pour n'importe quel objet qui
implémente cette interface.
On aurait pu utiliser la notion de classe abstraite comme en C++, mais
finalement les concepteurs de C# et VB.net ont préféré interdire
l'héritage multiple. Si une classe ne peut hériter que d'une seule
autre classe, en compensation, elle peut implémenter autant
d'interfaces que nécessaire.
merci beaucoup pour la réponse. Je trouve ça marrant parceque la notion d'heritage revient toujours sur le tapis. Le concept est encore un peu "abstrait" pour moi :o)
J'étais interessé par les interfaces surtout parceque j'avais lu que c'était une sorte de contrat et que ça permettait de mieux gérer les évolutions/modifications d'une classe dans le temps. Je crois qu'il faut que je me jette complétement dans l'objet et les avantages et inconvénients d'une technique m'apparaitront sans doute mieux.
"spi100" a écrit dans le message de news:
L'interet principal est que tu peux écrire une fonction qui prend en argument un objet, et la seul spécification que tu dois indiquer est qu'il doit implémenter une interface. Je te donne un exemple en C#, je ne connais pas VB
Le type IEnumerable indique au compilo que theList a une methode MoveNext. Ta fonction sera réutilisable pour n'importe quel objet qui implémente cette interface.
On aurait pu utiliser la notion de classe abstraite comme en C++, mais finalement les concepteurs de C# et VB.net ont préféré interdire l'héritage multiple. Si une classe ne peut hériter que d'une seule autre classe, en compensation, elle peut implémenter autant d'interfaces que nécessaire.
Tony
Je vais lire ça attentivement.
Merci
"Haziz" a écrit dans le message de news:
Plus sérieusement,
Il y a eu la même question, il y a quelques temps sur le forum developpez.com
Bonne lecture. Et désolé pour la touche d'humour ;-)
Haziz
Tony (no_spam) a écrit :
Je developpe des composants en vb.net utilisables dans mes pages aspx. Je m'interesse aujourd'hui à l'évolution de ces composants dans le temps et c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple : _____________________________ 'Version 1 'Implementation Public interface IA public function Dessine() .../... End Interface
Public class A implements IA function Dessine() '--code end function .../... end class
'Utilisation Dim test as IA = new A test.Dessine() ______________________________ 'Version 2a 'si les modifications touchent uniquement Dessine je peux faire ce qui suit 'Implementation Public interface IA2 public function Dessine2() .../... End Interface
Public class A implements IA implements IA2 function Dessine() '--code end function function Dessine2() '--code end function .../... end class
'Utilisation Dim testnouveau as IA2 = new A testnouveau.Dessine2() ______________________________ 'Version 2b 'si les modifcations touchent enormement de choses dans ma classe, alors je crée une nouvelle classe et une nouvelle Interface. Public interface IB public function Dessine() .../... End Interface
Public class B implements IB function Dessine() '--code end function .../... end class
'Utilisation Dim testnouveau as IB = new B testnouveau.Dessine()
================================ > Conclusion : Dans le cas où je n'aurais pas utilisé d'interface : La version 2a est toujours possible, je définie une méthode Dessine2 et mes anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appel à la même classe. La version 2b est toujours possible car tout a changé donc je fais appel à une nouvelle classe. ================================ > Voici ce que j'ai compris des interfaces. J'imagine que je suis à coté de la plaque car j'ai du mal à voir l'interet profond pour la gestion des mofications d'une classe. Si quelqu'un peut me donner un exemple ou un tutoriel sur le net.... L'objectif final est de comprendre le sens profond des interfaces de façon à implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.
Je vais lire ça attentivement.
Merci
"Haziz" <haziz.haoual@gmail.com> a écrit dans le message de news:
1169473958.028360.53790@l53g2000cwa.googlegroups.com...
Plus sérieusement,
Il y a eu la même question, il y a quelques temps sur le forum
developpez.com
Bonne lecture.
Et désolé pour la touche d'humour ;-)
Haziz
Tony (no_spam) a écrit :
Je developpe des composants en vb.net utilisables dans mes pages aspx.
Je m'interesse aujourd'hui à l'évolution de ces composants dans le temps
et
c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer
un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple :
_____________________________
'Version 1
'Implementation
Public interface IA
public function Dessine()
.../...
End Interface
Public class A
implements IA
function Dessine()
'--code
end function
.../...
end class
'Utilisation
Dim test as IA = new A
test.Dessine()
______________________________
'Version 2a
'si les modifications touchent uniquement Dessine je peux faire ce qui
suit
'Implementation
Public interface IA2
public function Dessine2()
.../...
End Interface
Public class A
implements IA
implements IA2
function Dessine()
'--code
end function
function Dessine2()
'--code
end function
.../...
end class
'Utilisation
Dim testnouveau as IA2 = new A
testnouveau.Dessine2()
______________________________
'Version 2b
'si les modifcations touchent enormement de choses dans ma classe, alors
je
crée une nouvelle classe et une nouvelle Interface.
Public interface IB
public function Dessine()
.../...
End Interface
Public class B
implements IB
function Dessine()
'--code
end function
.../...
end class
'Utilisation
Dim testnouveau as IB = new B
testnouveau.Dessine()
================================ > Conclusion :
Dans le cas où je n'aurais pas utilisé d'interface :
La version 2a est toujours possible, je définie une méthode Dessine2 et
mes
anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appel
à
la même classe.
La version 2b est toujours possible car tout a changé donc je fais appel à
une nouvelle classe.
================================ >
Voici ce que j'ai compris des interfaces. J'imagine que je suis à coté de
la
plaque car j'ai du mal à voir l'interet profond pour la gestion des
mofications d'une classe.
Si quelqu'un peut me donner un exemple ou un tutoriel sur le net....
L'objectif final est de comprendre le sens profond des interfaces de façon
à
implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.
Bonne lecture. Et désolé pour la touche d'humour ;-)
Haziz
Tony (no_spam) a écrit :
Je developpe des composants en vb.net utilisables dans mes pages aspx. Je m'interesse aujourd'hui à l'évolution de ces composants dans le temps et c'est pourquoi je souhaite des informations sur les interfaces.
Je ne comprends pas l'interet d'utiliser les interfaces hormis pour forcer un developpeur autre que moi à rentrer dans le moule.
Prenons un exemple : _____________________________ 'Version 1 'Implementation Public interface IA public function Dessine() .../... End Interface
Public class A implements IA function Dessine() '--code end function .../... end class
'Utilisation Dim test as IA = new A test.Dessine() ______________________________ 'Version 2a 'si les modifications touchent uniquement Dessine je peux faire ce qui suit 'Implementation Public interface IA2 public function Dessine2() .../... End Interface
Public class A implements IA implements IA2 function Dessine() '--code end function function Dessine2() '--code end function .../... end class
'Utilisation Dim testnouveau as IA2 = new A testnouveau.Dessine2() ______________________________ 'Version 2b 'si les modifcations touchent enormement de choses dans ma classe, alors je crée une nouvelle classe et une nouvelle Interface. Public interface IB public function Dessine() .../... End Interface
Public class B implements IB function Dessine() '--code end function .../... end class
'Utilisation Dim testnouveau as IB = new B testnouveau.Dessine()
================================ > Conclusion : Dans le cas où je n'aurais pas utilisé d'interface : La version 2a est toujours possible, je définie une méthode Dessine2 et mes anciens objets utilisent Dessine et mes nouveaux Dessine2 en faisant appel à la même classe. La version 2b est toujours possible car tout a changé donc je fais appel à une nouvelle classe. ================================ > Voici ce que j'ai compris des interfaces. J'imagine que je suis à coté de la plaque car j'ai du mal à voir l'interet profond pour la gestion des mofications d'une classe. Si quelqu'un peut me donner un exemple ou un tutoriel sur le net.... L'objectif final est de comprendre le sens profond des interfaces de façon à implémenter plusieurs couches logiciels indépendantes via spring.net
Par avance merci. Désolé pour la longueur du post.