Passer au contenu du pied de page
Iron Academy Logo
Application C#
Application C#

Autres catégories

Planification de la logique de l'application — Un examen approfondi de l'approche de Tim Corey

Tim Corey
17m 14s

Dans sa série C# App Start To Finish, Tim Corey explique que construire une application ne se résume pas à écrire du code. Le véritable défi réside dans la planification de la logique de l'application — comment les différentes parties de l'application interagiront, communiqueront, et transféreront les données entre les écrans et les composants. Dans la Leçon 05 sur la Planification Logique, Tim se concentre sur la planification logique, en soulignant que c'est l'étape où vous décidez comment l'application se comportera dans son ensemble.

Il nous rappelle qu'à ce stade, le cours a déjà couvert la portée des besoins, la construction de la structure globale, la conception du backend de données, et le dessin du front end. Maintenant, Tim dit que l'étape suivante est de tout connecter par la logique.

Tim précise que cette leçon ne plongera pas encore dans le code. Au lieu de cela, il veut couvrir les idées globales, la vue d'ensemble, et la logique globale derrière l'application. Il encourage à prendre des notes sur le papier et à dessiner des flèches pour cartographier comment chaque formulaire et bouton doivent se comporter, ce qui est similaire à la façon dont les processus d'affaires sont cartographiés dans les environnements de développement professionnels. Cette planification aide à rendre la logique de l'application claire avant de passer à la programmation.

Pourquoi la planification logique est importante

Tim commence par dire que le câblage des formulaires est la partie majeure de la logique d'application. Une fois que les formulaires sont correctement connectés, les tâches restantes sont généralement plus petites. Il explique que le processus de planification logique vous aide à comprendre la fonctionnalité, les processus et les contrôles que l'application doit prendre en charge.

Tim dit que s'il faisait ceci sur papier, il noterait ce que chaque composant devrait faire et dessinerait des flèches entre eux. Même si la classe travaille sur écran, il prévoit de parcourir chaque formulaire et d'expliquer la logique derrière chaque élément.

Créer la logique de formulaire de tournoi

Tim commence par le formulaire Créer un tournoi, qui est l'un des formulaires plus simples. Il explique la logique derrière chaque bouton et comment ils doivent fonctionner ensemble.

Bouton Créer une nouvelle équipe

Tim explique que le bouton Créer une nouvelle équipe ouvre le formulaire Créer une équipe. Après qu'une équipe soit créée, le nouveau formulaire se ferme et les données de l'équipe créée sont renvoyées au formulaire Créer un tournoi. L'équipe devrait apparaître dans la liste des équipes/joueurs, et cela se fait par la création d'une méthode qui peut être appelée depuis le formulaire Créer une équipe.

Tim introduit également le concept d'utilisation d'interfaces pour cette communication, en expliquant que les interfaces permettent aux formulaires d'interagir sans se connaître directement. C'est un exemple classique de la façon dont la logique métier et l'architecture logicielle travaillent ensemble pour maintenir la qualité, l'intégrité et une interaction claire entre les composants.

Bouton Ajouter une équipe

Tim explique que le bouton Ajouter une équipe est simple. Il vérifie quel élément est sélectionné dans la liste déroulante, ajoute cette équipe à la liste du tournoi, la supprime de la liste déroulante, puis rafraîchit les deux listes. Cette logique garantit que la sélection de l'utilisateur est correctement reflétée dans l'UI et les données sous-jacentes.

Bouton Créer un prix

Tim explique que le bouton Créer un prix se comporte de manière similaire au bouton Créer une nouvelle équipe. Il ouvre le formulaire Créer un prix, attend que le prix soit créé, puis ajoute ce prix à la boîte de liste des prix. La logique est la même, mais la classe et le type de données diffèrent.

Boutons Supprimer les sélections

Tim explique que les boutons de suppression retirent l'élément sélectionné de la boîte de liste. Dans le cas des équipes, la logique renvoie également l'équipe supprimée à la liste déroulante, garantissant que l'utilisateur peut l'ajouter à nouveau plus tard. Ce type de mise à jour en temps réel améliore l'expérience utilisateur et aide à maintenir des données correctes à travers l'UI.

Bouton Créer un tournoi

Tim explique que c'est le gros bouton car il déclenche le plus de logique. Lorsqu'il est cliqué, il doit valider toutes les informations :

  • Le nom du tournoi ne doit pas être vide

  • Les frais d'inscription ne doivent pas être négatifs

  • Au moins deux équipes doivent exister

Après la validation, Tim explique la prochaine étape majeure : créer le planning. La logique du planning du tournoi détermine combien d'équipes devraient être dans le tournoi et combien de byes sont nécessaires. Tim fait référence à un document compagnon où il a écrit la formule pour ce calcul. Par exemple, si le tournoi a 10 équipes, le tournoi doit commencer avec 16 équipes, ce qui signifie que 6 byes sont nécessaires au premier tour.

Tim note également que la logique doit randomiser l'ordre du premier tour. Une fois que tout cela est terminé, le formulaire est terminé et l'application peut avancer.

Créer la logique de formulaire d'équipe

Tim passe au formulaire Créer une équipe et explique la logique derrière ses boutons.

Bouton Ajouter un membre

Tim dit que ce bouton ajoute un membre existant d'une liste déroulante à la boîte de liste d'équipe. Il supprime ensuite ce membre de la liste déroulante et rafraîchit les deux listes. Tim souligne que c'est une logique similaire au bouton Ajouter une équipe.

Bouton Créer un membre

Tim explique que le bouton Créer un membre prend les quatre champs de saisie, crée un nouveau membre d'équipe, l'ajoute à la boîte de liste, et efface les champs. C'est un exemple typique de tâches courantes dans la logique d'application, où la saisie de l'utilisateur doit être traitée et reflétée dans l'UI.

Bouton Créer une équipe

Tim dit que le bouton Créer une équipe doit valider l'équipe puis renvoyer l'équipe créée à l'appelant. Il note que le formulaire manque d'un bouton de suppression de joueur, qui devrait être ajouté pour correspondre aux autres formulaires et fournir une expérience utilisateur cohérente. Tim explique que le comportement cohérent de l'interface utilisateur est important pour la familiarité et le confort de l'utilisateur.

Créer la logique de formulaire de prix

Tim décrit le formulaire Créer un prix comme étant plus simple. Il a quatre zones de texte et un bouton.

Lorsque le bouton Créer un prix est cliqué, il :

  • Valide les informations du prix

  • Renvoie les données au formulaire appelant

  • Ferme le formulaire

Tim explique que ce formulaire est essentiellement le même que Créer une équipe, mais avec moins de composants.

Logique du tableau de bord du tournoi

Tim explique que le formulaire du tableau de bord du tournoi est simple mais essentiel.

Il liste les tournois existants. Le bouton Charger le tournoi ouvre le visualiseur de tournois pour le tournoi sélectionné, et le bouton Créer un tournoi ouvre le formulaire Créer un tournoi.

Tim note que lorsqu'un tournoi est créé, il doit être ajouté à la liste déroulante, pour que l'utilisateur puisse immédiatement le charger. Cette logique est un exemple basique d'accès aux données et de mise à jour en temps réel dans une application.

Logique du visualiseur de tournoi

Tim décrit le visualiseur de tournoi comme le formulaire le plus complexe car il contient le plus de logique.

Nom du tournoi

Tim explique que le nom du tournoi est mis à jour lorsque le formulaire se charge. Le formulaire reçoit un objet tournoi et affiche le nom.

Liste déroulante des rounds

Tim explique que cette liste déroulante est calculée, pas chargée d'une base de données. Elle examine la liste des rounds et détermine combien existent. Si un tournoi a quatre rounds, la liste déroulante doit afficher Round 1 à Round 4.

Case à cocher "Non joués seulement"

Tim dit que si la case est cochée (par défaut), la boîte de liste des matchs est filtrée pour montrer uniquement les jeux non joués. Si elle n'est pas cochée, tous les matchs apparaissent.

Section Score du match

Tim explique que la sélection d'un match met à jour la section de droite avec les noms et les scores des équipes. Le bouton Score permet à l'utilisateur de mettre à jour les scores et de finaliser le match.

Déclencher le round suivant

Tim explique que lorsque le dernier match non joué d'un round est scoré, le round suivant doit commencer. Si c'est le dernier match de championnat, le tournoi se termine et les prix sont attribués. Tim note également que le système envoie des e-mails aux participants lorsqu'ils sont programmés pour jouer et lorsque les résultats sont disponibles.

Règles d'édition des scores

Tim se demande si les scores peuvent être mis à jour après avoir été réglés. Il conclut que oui, mais seulement tant que le round actuel est toujours actif. Si les scores sont modifiés après le début du round suivant, cela pourrait causer des problèmes majeurs car les équipes pourraient jouer contre les mauvais adversaires.

Par conséquent, Tim dit que le bouton Score a besoin de logique pour garantir que le score ne peut être changé que dans le round actuel.

Et ensuite ?

Tim reconnaît qu'il reste de la logique à planifier, comme :

  • L'accès et le stockage des données

  • La gestion des différentes sources de données

  • La logique des e-mails

  • Le déclenchement des matchs

Il dit que ceux-ci sont mieux planifiés dans le code, donc l'équipe s'en occupera une fois qu'ils commenceront à coder. C'est un exemple de l'intégrité des affaires dans le développement de logiciels — ne pas surplanifier, mais construire et adapter au fur et à mesure de l'implémentation.

Conclusion : Planification avant la programmation

Tim conclut sa vidéo en déclarant que la phase de planification est terminée :

  • La conception des données est finalisée

  • La disposition de l'UI est dessinée

  • La logique derrière chaque formulaire est planifiée

La prochaine étape est de traduire cela en code. Dans la prochaine leçon, Tim créera la bibliothèque de classes et commencera à implémenter la conception des données dans l'application réelle.

Hero Worlddot related to Planification de la logique de l'application — Un examen approfondi de l'approche de Tim Corey
Hero Affiliate related to Planification de la logique de l'application — Un examen approfondi de l'approche de Tim Corey

Gagnez plus en partageant ce que vous aimez

Vous créez du contenu pour les développeurs travaillant avec .NET, C#, Java, Python ou Node.js ? Transformez votre expertise en revenu supplémentaire !

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi