Simulation de machine Enigma : des pistes pour une version objet

Magazine
Marque
GNU/Linux Magazine
Numéro
235
Mois de parution
mars 2020
Domaines


Résumé

Après avoir vu comment implémenter un simulateur de machine Enigma en programmation impérative [1], je vous propose d'étudier des pistes pour parvenir à une version orientée objet.


La modélisation d'une machine Enigma se prête particulièrement bien à la programmation orientée objet. Puisque toutes les explications sur le fonctionnement d'une telle machine ont été abordées dans les pages précédentes [1], je me focaliserai dans cet article sur la modélisation et les pistes permettant de réaliser une implémentation orientée objet (en Python 3.8) d'un simulateur de machine Enigma.

Des pistes ? Mais pourquoi seulement des pistes et pas une implémentation complète ? Voilà sûrement la question que vous vous posez. Comme toujours avec la POO, pour peu que l'on ait bien réfléchi au problème, on va aboutir à quelque chose de très esthétique et compréhensible… Mais malheureusement, il y aura de très nombreuses lignes de code. L'exercice est loin d'être inintéressant, d'où l'idée d'écrire cet article, mais je ne poserai ici que les bases de cette implémentation, vous laissant le loisir de poursuivre jusqu'à l'obtention d'un programme...
Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Conservez l’historique de vos commandes pour chaque projet, le retour

Magazine
Marque
GNU/Linux Magazine
Numéro
241
Mois de parution
octobre 2020
Domaines
Résumé

Pouvoir conserver un historique dédié pour chaque projet, voici l’idée géniale énoncée par Tristan Colombo dans un précédent article de GLMF [1]. Cet article reprend ce concept génial (je l’ai déjà dit?) et l’étoffe en simplifiant son installation et en ajoutant quelques fonctionnalités (comme l’autodétection de projets versionnés pour proposer à l’utilisateur d’activer un historique dédié, si ce n’est pas le cas).