IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Conseil design C++


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 35
    Points : 27
    Points
    27
    Par défaut Conseil design C++
    Bonjour,
    J'ai un périphérique de gestion de pression et d'analyse du milieu aqueux auquel je dois accéder par ioctl après ouverture d'un fd.
    J'ai de plus un nombre non négligeable de fonctions outils élémentaires.

    Pour mon design, je pensais faire une classe d’accès au périphérique qui utilise une classe contenant les tools.
    Qu'est ce que vous en pensez ?

    Merci

  2. #2
    Membre du Club Avatar de Waether
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 44
    Points : 69
    Points
    69
    Par défaut
    Yop !

    Le design patern c'est loin d'être ma spécialité mais on sait jamais ^^

    Personnellement si tu veux pouvoir gérer plusieurs types de périphériques je te conseil une interface IPeripherique avec une class pour chacun. Après tu mets les méthodes d'accès aux infos à l'intérieur.

    Mais si tu as qu'un seul périphérique et que tu ne comptes pas en ajouter autant faire une class simple sans trop s'embêter. Après suivant si c'est pour toi ou pro y a plus ou moins de propreté à avoir, à toi de voir pour ça.

    Prévoir un ajout de périphérique est toujours bon à prendre ça fait moins de boulot au moment ou faudra le faire, puis ça rajoute pas vraiment beaucoup de taf.

    Voilà en espérant t'avoir aider =)
    Keep calm and debug ...

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,
    Citation Envoyé par Waether Voir le message
    Yop !

    Personnellement si tu veux pouvoir gérer plusieurs types de périphériques je te conseil une interface IPeripherique avec une class pour chacun. Après tu mets les méthodes d'accès aux infos à l'intérieur.
    Et encore : cela sous entend que tu accède à tous tes périphériques de la même manière, ce qui n'est surement pas gagné :
    une souris et un clavier sont tous les deux considérés comme des "périphériques d'entrées", mais, comme il n'y a aucune fonction commune à ces deux périphériques (à moins de vouloir récupérer la position de la souris quand une touche du clavier est enfoncée / relachée), la création d'une interface générqique susceptible de représenter "n'importe quel périphérique" (même si ce n'est que "n'importe quel périphérique d'entrée") devient inaplicable en raison du LSP (Liskov Subsitution Principle ou principe de Substitution de Liskov)
    Mais si tu as qu'un seul périphérique et que tu ne comptes pas en ajouter autant faire une class simple sans trop s'embêter. Après suivant si c'est pour toi ou pro y a plus ou moins de propreté à avoir, à toi de voir pour ça.
    Pour cela, par contre, je suis tout à fait d'accord :Mes deux principes Xp préférés sont KISS (Keep It Simple, Stupid) et YAGNI (You Ain't gonna Need It) : tant que tu n'as pas de garantie qu'il faudra apporter un "point de variation" quelque part, tu as intérêt à ne pas essayer de le rajouter (le point de variation )

    Ceci étant dit, et pour quand même répondre à la question : ioctl et fd (file descriptor ) sont ils des obligations Puis-je subodorer que ton application sera développée sur plusieurs niveau : une partie "métier" qui sera utilisée sur un système disposant de "peu de ressources" (embarqué ou autre) et un système de "consultation/ manipulation /gestion des données / réglages" qui pourrait -- lui -- être développé sur un PC "digne de ce nom"

    Tu parles de "fonctions outils" et de tools : peut-on partir du principes que ces deux termes représentent exactement la même chose Doit-on partir du principe qu'il s'agit de fonctions développées en C (et non en C++)

    Je sais que ces questions peuvent sembler surprenantes, mais les réponses que tu pourras donner sont clairement de nature à nous permettre de t'orienter au mieux en vue de trouver la solution :
    1. on ne développe pas forcément de la même manière pour "embarqué" que pour le "pc classique";
    2. l'utilisation des file descriptor (si c'est bien ce que tu entends par fd) et de ioctl risque d'impliquer bien plus de travail que tu ne peux l'imaginer
    3. l'intégration de fonction C implique souvent la mise en place d'une série de choses afin de garantir un minimum de sécurité à leur emploi
    4. la possibilité d'avoir un système "récolteur" et un système "utilisateur" des données nous orientera vers une approche totalement différente du problème que celle que nous aurions utilisée si la récolte et l'utilisation (finale) des données avait été effectuée sur le même pc
    5. ...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Conseil pour un design
    Par fallais dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 21/05/2010, 17h09
  2. Game design [Besoin d'aide, conseils....]
    Par poussinphp dans le forum Langage
    Réponses: 23
    Dernier message: 24/09/2005, 09h16
  3. Réponses: 13
    Dernier message: 13/09/2005, 09h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo