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 :

Conception service (processus)


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2012
    Messages : 56
    Points : 38
    Points
    38
    Par défaut Conception service (processus)
    Bonjour,

    J'aimerais trouver la meilleur solution pour de la maintenance évolutive d'une conception logicielle existante. Je ne sais pas toujours faire les bons choix de conception.

    Le but est de bien gérer l'instance de la classe super dans la fonction principale de l'application. (Engine). Je pense que le mieux est de créer une instance par valeur dans Process et lui laisser la gestion de la destruction de l'objet et donner à Engine le droit d'accéder ou modifier les données de la class super? J'ai essayé de simplifier au maximum la conception:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    // service.h
    static Process Processus()
     
    int APIENTRY WinServiceMain(..)
    {
       Processus.init();
       Processus.run();
       Engine();
    }
     
    // process.h
    class Process
    {
       private:
       super sup_;
     
       public:
       Process() = default;
       Process(const super& s);
       void run() 
       {
    	sup_.main_function();
       }
       void init()
       {
           /* Multiples traitements */
    	sup_ = super();
       }
       super get_super_instance() { return sup_; }
    };
     
    // Prototype de la fonction principale de l'application.
    void Engine(Process* p);
     
    // super.h
    class super
    {
       public:
       void main_function();
       void super_function();
    };
     
    // Program.cpp
    int APIENTRY WinServiceMain()
    {
       return WinServiceMain(...);
    }
     
    void engine(Process* p)
    {
       // Le but: accéder aux données de l'instance et pouvoir les modifier. 
       super& s = p->get_super_instance();
       s.super_function();
    }
    Merci d'avance pour les réponses apportées.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Heu, pourquoi se prendre la tête ???


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    // service.h
     
    int APIENTRY WinServiceMain(..);
     
    // Prototype de la fonction principale de l'application.
    void Engine(super& s);
     
    // super.h
    class super
    {
       public:
       void main_function();
       void super_function();
    };
     
    // Program.cpp
    int APIENTRY WinServiceMain()
    {
       super s{};
       Engine(s);
    }
     
    void engine(super& s)
    {
       // Le but: accéder aux données de l'instance et pouvoir les modifier. 
       s.super_function();
    }

Discussions similaires

  1. Communication Service <--> Processus user
    Par sivaller dans le forum Windows
    Réponses: 5
    Dernier message: 16/12/2010, 18h24
  2. Oracle EBS 12 : services (processus) ?
    Par _cece dans le forum Autres outils décisionnels
    Réponses: 0
    Dernier message: 05/10/2009, 16h52
  3. Conception web Services
    Par saif21 dans le forum Services Web
    Réponses: 2
    Dernier message: 05/04/2007, 15h34
  4. Service Windows et lancement de processus
    Par sharpmao dans le forum Windows
    Réponses: 5
    Dernier message: 15/04/2006, 23h48
  5. Service.exe dans Processus du Gestionnaire de Tache
    Par Maglight dans le forum Sécurité
    Réponses: 4
    Dernier message: 12/09/2005, 08h25

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