olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 2010
-
14 févr. 2008 à 16:02
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 2010
-
15 févr. 2008 à 17:31
Bonjour
Je demare en C# (mais avec une tres bonne experience du C)
En C j'ecrivais essentiellement des agorithmes et process de traitement donc je n'ai pas beaucoup d'expérience en gestion d'interface.
Je cherche un petit tutorial qui me permetrait d'eviter des problèmes de débutant et prendre rapidement les bonnes habitudes
Exemple :
Dans mes premiers essais la tentation etait grande de rapidement coder les process dans la fonction d'event
J'ai vite compris que je produisait un foutoir ingérable et j'ai donc structuré en minimisant au strict nécessaire le code dans la fonction d'event pour appeller des process génériques plus facilement reutilisables
Neanmoins la majeure partie des fonction est encore concentrée dans le la class main form
Ou puis-je trouver les regles fondamentales d'organisation du code ?
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 14 févr. 2008 à 17:35
Je ne sais pas s'il existe un bon tuto sur le sujet, mais concernant le problème que tu soulèves (où mettre le code de traitement des IHM) je te conseille de te renseigner sur le design pattern MVC (Model View Controler). Et dans la foulée d'ailleurs, se former aussi aux autres design pattern ne pourra qu'améliorer ta façon de concevoir tes applications :)
(pour faire "simple", un design pattern est une facon de faire propre et élégante pour répondre à une problématique données. Il existe des design pattern pour toutes les problématique qu'on retrouve très souvent en dévelopement. Et en particulier la facon de concevoir une application et de séparer les données, les traitements, la représentation graphique fait partie de ces problématiques, et le design pattern MVC est la meilleur solution que je pourrai te conseiller.)
Si tu veux creuser le sujet, il y a un bouquin qui fait référence (je n'ai pas les infos sous la main) et il y a aussi pas mal de litérature sur le net.
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 15 févr. 2008 à 16:15
sans parler de design pattern, il suffit de se rappeler qu'on a beau faire des UI, on code en objet...Bref, ne pas oublier que les objets ont une sémantique. Comme tu l'as dit, balancer le code dans les handlers d'event cest l'horreur...Selon moi les pattern (MVC, model document, etc) cest a double tranchant. Cest bien beau de respecter des pattern, mais a vouloir les respecter on oublie vite des regles fondamentales...combien de fois ai-je vu des applications de quelques dizaines de milliers de lignes de codes concentrées en 3 classes parce que les personnes voulaient trop respecter leur MVC). Bref, selon moi les patterns doivent essentiellement servir a assimiler les concepts de bonnes pratiques, mais ne doivent pas toujours être suivis a la lettre sous peine de faire plus de mal que de bien...
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 15 févr. 2008 à 17:31
Merci pour cette reflexion tres pertinente !!
Chaque language a ses regles mais les regles suivies aveuglement finissent toujours par nuire !
Cela etant mon problème est bien là je demare en Csharp et en object par la meme occasion
J'ai une lourde epérience en C ou a la longue je transportait tout dans des structures (un peu comme des classe)
Mais je n'ai aucune experience et habitude de la semantique objet
J'apprends sur le tas en corrigeant intuitivement mes erreurs mais j'aimerais en eviter le plus possible
Mais bon, en 15 jour j'ai deja une petite application multitab qui appelle une dll C, ouvre une Db MySql affiche quelque query dans des datagridview, affiche un resultat graphique (position géographiques) en picture box avec interration graphique de l'utilisateur.
A ce stade j'ai envie de mettre de l'ordre dans tout ca