Je suis relativement nouveau dans la conception de grands programmes en C++. J'écris des séries d'opérations, chacune ayant sa propre classe, qui sera invoquée par la classe ProcessMgr
.Interface et structure de conception de l'implémentation?
J'utilise ProcessMgr
en tant que classe d'interface, à partir de laquelle chaque opération peut être invoquée:
class ProcessMgr
{
private:
class OperationOne;
class OperationTwo;
class OperationThree;
}
class ProcessMgr::OperationOne
{
public:
...
};
class ProcessMgr::OperationTwo
{
public:
...
};
class ProcessMgr::OperationThree
{
public:
...
};
Cela me permet de contrôler les types d'accès aux Operation
des classes, donc pas d'exposer une grande partie de leur sous-jacent code.
Il est important que l'utilisateur de ce code ne peut interagir avec les Operation
des classes de manière spécifique et ne pas avoir un accès complet à tous les contenus des Operations
classes.
Mes questions:
1) Est-ce une bonne approche pour la conception de grands programmes? La plupart des bibliothèques, telles que CURL, sont-elles structurées de cette manière?
2) Existe-t-il des méthodes de séparation et d'implémentation meilleures/plus efficaces?
La conception globale de tout programme dépend de nombreuses variables, mais je pense qu'il serait plus facile de vous aider à comprendre le meilleur design si vous décrivez le but du code – ZivS
Pas un programmeur C++ ici mais comment 4 classes ont le même prénom? Est-ce une chose en C++? Il m'a complètement rejeté .. – CKing
Questions mises à jour @ZivS –