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:
Merci d'avance pour les réponses apportées.
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(); }
Partager