Question POO
Stagiaire WDF
Inscrit:
24/06/2006 16:50
Post(s): 9
Bonjour,

C'est encore moi!!! Je travaille sur un petit logiciel en programmation objet... sauf que j'ai un peu du mal a comprendre... a quel moment est-ce que j'utilise les objets et quand est-ce que j'utilise les fichiers HyperFile?

Par exemple quand j'ai une fenetre "ajouter client" qui me permet de saisir les infos concernant, par exemple, un nouveau client, comment je m'y prend? Faut-il que je declare un objet 'client' dans les declarations globales de ma fenetre "ajouter client"? Est-ce que cet objet 'client' doit avoir une procedure 'sauver' qui permet de sauver ou modifier un client dans mon fichier HyperFile client? Et puis le clic sur le bouton ok de ma fenetre "ajouter client" appelle cette procedure qui sauve les attributs de mon objet client dans mon fichier??? Puis detruit mon objet client???

Est-ce que je peux implementer ca comme ca, ou bien comment vaut-il mieux faire?

Ah j'ai une autre question qui n'a rien a voir: comment indiquer une classe abstraite?

Merci!!!!
Anna

Contribution le : 04/07/2006 05:04
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour anna,

ou bien votre question est trop vague ou bien vous n'avez a peine ouvert le guide de l'autoformation.

Je vous conseil vivement de lire cette ouvrage et d'utiliser le RAD et ainsi de regarder comment cela fonctionne.

Quel type de programmation cherchez vous à effectuer
Procédurale
orienté objet
n tiers

je pense que vous chercher à réinventer la roue car WinDev via le RAD manipule très bien ce genre de fenêtre sans avoir a saisir une ligne de code
Vous pouvez bien entendu personnaliser les traitements a votre guise.

Contribution le : 04/07/2006 19:07
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Stagiaire WDF
Inscrit:
24/06/2006 16:50
Post(s): 9
Merci pour la reponse rapide.

Je programme en oriente objet (enfin j'aimerais!!!)

J'ai deja lu le guide de l'auto-formation mais ca ne m'a pas eclairee beaucoup. Mon probleme se situe au niveau du lien entre les classes de mon projet (celles de mon modele uml par exemple) et les fichiers de donnees correspondants. Il y a clairement quelque chose qui m'echappe!

Vous m'avez fait remarquer dans un post precedent que WinDev 10 permet de générer automatiquement le diagramme uml ainsi que les classes associées aux fichiers définis dans l'analyse... mais je suis sous windev 9. Et a ce que j'ai compris, lorsque je fais mon diagramme de classes uml, je peux generer automatiquement les classes correspondantes mais PAS les fichiers de donnees (et ca ne marche pas dans l'autre sens non plus, c'est a dire partir de l'analyse pour generer les classes). J'entre alors les fichiers de donnees pour l'analyse, a la main. Il n'y a donc pas de lien entre le fichier de donnees et la classe correspondante.

Quand j'utilise le RAD, 4 nouvelles classes sont generees: CWDTable, CWDForm, CWDHandFile et CWDVision. Mais toujours aucun lien entre les fichiers de donnees et mes classes a moi...

Par exemple mon application utilise un fichier de donnees 'client'. Comment avoir un lien entre mon fichier 'client' et ma classe 'client'? Est-ce que je dois tout programmer a la main? Est-ce que c'est ma classe 'client' qui contient tous les acces, en lecture et ecriture, a mon fichier 'client'? Et si j'accede a ce fichier 'client' en dehors de ma classe 'client', est-ce que ca devient du code procedural???

(Est-ce que la classe 'client' doit heriter par exemple de CWDForm?)

Je ne sais pas si je me suis bien exprimee... il est clair que j'ai encore beaucoup a apprendre... et il y a clairement quelque chose qui m'echappe et qui doit sembler evident a tous... qu'est-ce que je n'ai pas fait comme il fallait???

Merci...
Anna

Contribution le : 06/07/2006 09:54
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Bonjour,
J'ai déja eu cette discussion avec une personne qui venait de la conception sous WinDev 9...
En effet, il semble qu'on ai un problème pour assurer le lien entre le diagramme UML et le MLD. En effet, les modifications dans le MLD (analyse) n'ont pas d'effet sur les structures des classes. Par conséquent il faut assurer les modifications à la main (pour ce qui concerne la modélisation).

En fonctionnement : je vous invite alors à prévoir pour chaque classe des méthodes générique de lecture et d'écriture.

N'étant pas trés au fait de l'UML, j'espère toutefois que ces infromations vous seront utiles. C'est en tout cas la conclusion à laquelle nous avions abouti. Je vous invite chaleureusement à prendre contact avec PCSoft sur ce point et pouruqoi pas nous faire par de vos résultat. Nous vous assisterons pour un dossier car le sujet est utile !

Contribution le : 06/07/2006 10:52
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Stagiaire WDF
Inscrit:
24/06/2006 16:50
Post(s): 9
Merci, et effectivement ces informations me sont utiles. Elles me confirment en tous cas que Windev 9 n'est pas aussi adapte au code oriente objet qu'au code procedural. Neanmoins je vais tenter le coup. Si j'ai bien compris la meilleure solution est de programmer une sorte de couche intermediaire pour toutes les operations de lecture/ecriture entre mon appli (mes objets) et mes fichiers? Je vais voir si je peux faire ca...

Mais j'ai du mal a comprendre qu'il n'y ait aucun exemple fourni avec Windev qui comprenne une analyse ET qui utilise du code oriente objet... Si quelqu'un a un exemple de ce genre de programme, je veux dire un projet utilisant des classes (avec ou sans diagramme uml) et une analyse, j'y jetterais volontiers un oeil.

Merci encore...

Contribution le : 06/07/2006 11:23
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Sauf erreur, je vous invite à voir du coté des exemples du TDF 2006.

Contribution le : 06/07/2006 17:09
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Stagiaire WDF
Inscrit:
24/06/2006 16:50
Post(s): 9
Hum... j'ai manque l'evenement. Ou puis-je me procurer les exemples? J'ai jete un oeil sur le site de PCSoft mais je n'ai pas trouve.

Y a-t-il des exemples pour windev 9, ou bien est-ce que ca n'est que du windev 10?

Contribution le : 07/07/2006 10:43
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Ce que vous cherchée à faire s'appelle du 3-Tiers
- 1 couche Données Analyse
- 1 Couche métier Classes
- 1 couche interface Masque d'écran et d'impression

En effet de nouvelle fonction on fait leur apparissiont en Version 10 afin de faciliter le transfert des donnees entre les fichiers Physiques et les classes.
Il s'agit des fonction
FichierVersMemoire et MemoireVersFichier
Ces fonction comme pour les fonction FichierVerEcran et EcranVersFichier effectue de facon automatique l'initialisation de la structure de la classe avec le contenu de l'enregistrement.

Ceci dit vous pouvez créer ces procedure manuellement avec la version 9.

Cette technique est tout de meme lourd à mettre en place et n'est utilisée dans la plupard des cas lorsque les différents traitements sont situés sur des machines différentes.

Exemple:
- Les données sur le Serveur svrBDD
- Les traitements sur les donnees sont sockés sur le serveur svrAPP

l'application sur les postes clients.
L'appli fait appel aux traitement generalement à des WebServices ou bien des objets COM(Non réalisable en windev)
ou bien via des assemblies.

Les WebServices sont surement dans ce contexte la meilleurs utilisation car la maintenace ne se fait que sur le serveur lui meme et donc pas nouvelles assembly a fournir.

Je ne vois donc cette technique viable que dans la condition du n-tiers car très lours à maintenir et à mettre en place.
l'outil de développement permet justement de se dégager de cette tache fastidieuse en automatisant au maximum les liens entre la données physique et l'affichage.

Ce serait donc essayer de refaire une partie de WinDev.

Contribution le : 07/07/2006 12:00
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Stagiaire WDF
Inscrit:
24/06/2006 16:50
Post(s): 9
Merci pour ces infos.

Dans mon cas, les donnees et les traitements sur ces donnees seront sur la meme machine. Effectivement cette technique utilisant une couche traitements semble lourde a mettre en place... mais je ne comprend pas bien pourquoi vous dites que c'est lourd a maintenir? Il me semblait pourtant que l'independance des 3 couches permettait une plus grande flexibilite, et donc une maintenance facilitee.

La raison pour laquelle je souhaitais programmer en oriente objet est justement que mon application doit absolument etre facilement maintenable et modifiable. Mais si j'ai bien compris, faire du 100% objet necessite de faire du 3-tiers...?
Dans ce cas, est-ce qu'utiliser des objets pour les parties que je souhaite modifiables, et utiliser les liens automatises entre la donnee et l'affichage pour le reste, pourrait etre une solution acceptable?

Contribution le : 08/07/2006 21:47
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Citation :

mais je ne comprend pas bien pourquoi vous dites que c'est lourd a maintenir


si vous développiez en c ou meme d'autres langages aussi je vous dirais que vous utilisez la bonne méthode car il est plus facile en tout cas pour moi aussi de maintenir de l'objet que du procédurale.

La particularité de WinDev c'est qu'il gère déjà en automatique la synchronisation des données dichier vers ecran et ecran vers fichier avec un reporting sur tous les endroit du programme ou des modifications sont a apporter.
Et vous chercher à ré-écrire cela.

D'un autre coté PCSoft fourni déjà les options et fonctions permettant de mettre cette techique aisément en place

Dans l'editeur d'analyse il y a une option permettant de créer les classes métiers de chacun des fichiers d'écrit dans l'analyse.

Vous trouverez aussi deux fonctions vous permettant de faire des affectations automatique de vos membre des classes en fonction des fichiers et inversement
Voir les fonction FichierVersMemoire et MemoireVersFichier.

Contribution le : 09/07/2006 11:05
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Stagiaire WDF
Inscrit:
24/06/2006 16:50
Post(s): 9
Citation :

La particularité de WinDev c'est qu'il gère déjà en automatique la synchronisation des données dichier vers ecran et ecran vers fichier avec un reporting sur tous les endroit du programme ou des modifications sont a apporter.
Et vous chercher à ré-écrire cela.


Non, je ne cherche pas a re-ecrire cela. Il se trouve que j'ai une appli a programmer, qui doit etre facilement maintenable, et c'est justement parce que je ne sais pas trop comment m'y prendre que je suis venue poser la question sur ce forum. Je manque certainement d'experience, en programmation en general et sur Windev en particulier, et le but de ma question etait justement de trouver la meilleure solution dans mon cas.

Donc d'apres vous, il est inutile de se compliquer le travail en utilisant l'approche objet avec Windev 9?
Je ne connais pas ce reporting dont vous parlez, reporting sur tous les endroits du programme ou des modifications sont a apporter... Qu'entendez-vous par "tous les endroits du programme ou des modifications sont a apporter", s'agit-il de toutes les parties de code et des liens automatises qui concernent un fichier donne? Comment ai-je acces a ce reporting?

Mais j'ai l'impression que c'est quand meme nettement moins flexible qu'en utilisant des classes.
Aucun exemple intelligent ne me vient a l'esprit alors prenons en un bete :
Je travaille sur une petite appli de prise de rdv pour des commerciaux. Dans ma fenetre prise de rdv, on veut pouvoir choisir le commercial. J'ai donc ma liste de commerciaux dans une combo box. Mon fichier 'commercial' contient des attributs comme son nom, son prenom, etc. Si je lie ma combo box directement a une donnee du fichier, certes c'est facile a faire mais je ne peux avoir que le nom ou le prenom (ou l'identifiant mais ca ne m'interesse pas beaucoup non plus). Moi je veux une chaine comprenant le nom et le prenom. Donc deja je suis obligee de coder. En plus, peut-etre que plus tard quelqu'un decidera qu'au lieu d'avoir une chaine contenant le nom et le prenom, on veut une chaine contenant la civilite, le nom et le prenom. En objet je peux avoir une methode qui me renvoie exactement la chaine a afficher pour chaque commercial. Et je peux rappeler cette methode dans toutes les autres combo boxes de l'appli qui presentent ma liste de commerciaux. Si j'utilise les liens automatises Windev, est-ce que je ne vais pas devoir aller modifier toutes mes combo boxes une par une?

Citation :

D'un autre coté PCSoft fourni déjà les options et fonctions permettant de mettre cette techique aisément en place

Dans l'editeur d'analyse il y a une option permettant de créer les classes métiers de chacun des fichiers d'écrit dans l'analyse.

Vous trouverez aussi deux fonctions vous permettant de faire des affectations automatique de vos membre des classes en fonction des fichiers et inversement
Voir les fonction FichierVersMemoire et MemoireVersFichier.


Est-ce que tout ca n'est pas fourni avec Windev 10? Moi je suis sous Windev 9... donc ca ne m'avance pas beaucoup. Qu'est-ce que je suis supposee faire d'apres vous, faire pression pour que ma societe achete une licence pour windev 10??? Merci pour l'idee mais ca m'etonnerait que ca passe.
Remarquez, ca me simplifierait vraiment les choses... parce que c'est peut-etre le 5e message que j'ecris dans ce post, mais je ne suis toujours pas fixee sur ce que je dois faire . Utiliser Windev 10 serait clairement LA solution a mon probleme...

Contribution le : 09/07/2006 15:50
Créer un fichier PDF de la contribution Imprimer


Re: Question POO
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour anna,

Pour la génération auto des clases via uml il est vrai que cela n'est apparu qu'avec la version 10.

en ce qui concerne votre exemple de commercial cela peu être lié à une requete,

Je m'explique :

Vous créez une requête via l'éditeur de requête du style

SELECT NOM + " " + Prenom AS VRP FROM Commerciaux

De cette facon votre combo contiendra le nom et le prenom du commercial en liant votre combo à la rubrique VRP et ce dans tous le programme ou vous désirez avoir ce résultat

Si vous désirez pour le confort des utilisateurs ajouter la civilité il vous suffira de modifier votre requête de la facon suivante:


SELECT Civilite + " " + NOM + " " + Prenom AS VRP FROM Commerciaux

Votre combo étant lié à VRP le contenu de la combo sera celui attendu.

je ne tentes pas de vous diriger vers une programmation autre que la POO car vous seule en connaissez l'analyse mais simplement de vous répondre comment faire ce que vous demandez en utilisant ce que j'appelerais la phylosophie WinDev et ce me semble être le plus simple à mettre en place.

Les analyses d'impact sont dispo aussi avec la version 10
Mais les modifications effectuées au niveau de l'analyse sont répercutées automatiquement ou manuellement selon votre choix sur les rubriques des masques d'écrans.

Contribution le : 09/07/2006 21:24
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2