Salut à tous,
Débutant la programmation objet, j'ai fini ma phase d'apprentissage des théories pour commencer à rentrer dans le code (enter the matrix).
Et là c'est la catastrophe. A la lecture des règles théoriques ont ce dit qu'on a compris, parfois avec de la difficulté même, et que y'a plus qu'a, mais là en l’occurrence dans ma situation c'est le drame
Histoire de bien me faire comprendre et d'avoir une aide de qualité je vais m'appliquer dans mon explication....
------------------------------------------------
Mon problème est que j'aimerais pouvoir utiliser un objet par l'intermédiaire d'un autre. Je sais donc qu'il existe 2 méthodes à savoir : l'association et la dépendance. Mais lorsque j'essaie d'effectuer ces principes je me retrouve dans tous les cas avec des erreurs.
Voici le minuscule diagrammes UML de classes de mon projet :
Ainsi j'aimerais pouvoir, à travers mon objet client, lancer une connexion vers ma base de données afin de pouvoir effectuer une fonction de ma classe Client. Je précise que je possède déjà un objet de la classe Myconnexion qui à déjà été initialisé pour ma base de données. Je voudrais donc me servir de cette objet pour lancer la méthode "lancerequete" (c'est du lourd je vous l'avais dit!) de l'objet déjà existant et paramétré pour ma base.
------------------------------------
J'essaie donc par l'intermédiaire de l'association. Voici le code :
Dans la classe program j'ai ces 2 lignes dès le lancement :
Puis dans ma classe client j'ai mis un attribut de type Myconnexion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MyConnexion ConnexionClient = new MyConnexion(); ConnexionClient.InitialisationMysql();
puis dans une méthode de la classe je fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyConnexion ConnexionClient;
Et la VS2010 me signal aucunes erreur en perspective mais lorsque je lance mon appli j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part dtClient = ConnexionClient.LanceRequete(SuperDiscountClient);
La référence d'objet n'est pas définie à une instance d'un objet.
---------------------
J'essaie donc la méthode non persistante à savoir la dépendance. Je passe en argument de ma fonction dans la classe client cela :
Cette fonction est appelé à la suite d'un event sur un bouton dans mon GUI et appel donc la fonction de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part public string[] IntegriteCodeClient(string NomDatabase, MyConnexion ConnexionClient)
Mais maintenant le problème c'est que ma Form1 (GUI) ne connais pas cette objet ConnexionClient. Si je met en attribut un objet MyConnexion dans ma class Form1 alors ma GUI deviens persistante face à ma classe de connexion à la base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part client.IntegriteCodeClient("monClient", ConnexionClient).CopyTo(t, 0);
-------------
Voilà mon problème, je suis un peu bloqué. J'aimerai pouvoir faire communiqué mes objets entre eux mais il y a certains principe qu’apparemment je ne pas encore bien compris concrètement dans la pratique. J'aimerai pouvoir développer dans une philosophie professionnel et donc obtenir le moins de persistance possible et surtout avoir une bonne séparation de couche.
Pourriez-vous donc m'épauler pour comprendre un obtenir un code qui puisse marché de façon efficace face à mes 4 pauvres classes.
THX a lot for all helping
Partager