OVH Cloud OVH Cloud

Remoting : Best practice et Design Pattern

1 réponse
Avatar
Gislain
Bonjour,

Fesant suite à mon incursion dans le monde magique et merveilleux de .Net
Remoting, je cherche à savoir s'il existe un best practice ou un design
pattern pour que je puisse construire mon application afin qu'elle utilise
soit des objets déportés (créés sur le serveur) ou lui permettre de les
créer en local (sans server, et donc sans remoting...) sans recompilation,
juste à l'aide d'un paramètre dans un app.config.

Est-ce possible ? Si oui, comment ? Des exemples svp

Est-ce judicieux ? (n'aillez pas peur des critiques, mais pas d'insultes svp
!!!)

Merci d'avance.

Gislain.

1 réponse

Avatar
Eric Vernié [MS]
Bonjour Gislain,

C'est tout à fait judicieux ;-)
Dans ton cas tu pourrais passer par un "design pattern créateur" type
fabrication ou fabrique de classe.
Client ->Fabrique->Objet a fabriquer
Tu délègue la fabrication de ta classe à un objet qui ira piocher dans le
fichier APP.CONFIG l'assembly à charger et la classe à instancier.

Exemple de pseudo code en utilisant la reflection
Chaque objet implémentant le même contrat qui serait une interface par
exemple IInterface avec une méthode PartirEnVacances()

object FabriquerObjet()
{
//Chargement de l'assembly
Assembly assembly=Assembly.LoadFile("chemin d'accès à l'assembly")
Type type=assembly.GetType("NomClasse")
Object monObjet¬tivator.CreateInstance(type)
return monObjet
}
Dans ton client

IInterface monInterface;
monInterface=(IInterface)FabriquerObjet()

monInterface.PartirEnVacances()

A+

Eric Vernié
Microsoft France


"Gislain" a écrit dans le message de news:

Bonjour,

Fesant suite à mon incursion dans le monde magique et merveilleux de .Net
Remoting, je cherche à savoir s'il existe un best practice ou un design
pattern pour que je puisse construire mon application afin qu'elle utilise
soit des objets déportés (créés sur le serveur) ou lui permettre de les
créer en local (sans server, et donc sans remoting...) sans recompilation,
juste à l'aide d'un paramètre dans un app.config.

Est-ce possible ? Si oui, comment ? Des exemples svp

Est-ce judicieux ? (n'aillez pas peur des critiques, mais pas d'insultes
svp
!!!)

Merci d'avance.

Gislain.