Bonjour,
J'essaye, autant que je peux, de choisir le meilleur design pour mes classes, mais là je suis aboulique.
A chaque fois que je dois implémenter des méthodes de sauvegarde/chargement, je me pose la question du design le mieux adapté. Pour trancher une bonne fois pour toute, j'utilise mon joker : "je demande au public JP".
Je vois 2 solutions (pseudo code c++):
SOLUTION 1 :
class Foo
{
void Load();
void Save();
};
dans le code, l'appel ressemble a ca :
Foo fooInst;
fooInst.Load();
En gros, chaque instance sait s'autogérer
ou
SOLUTION 2
class Bar
{
static void Load(Bar& barObject);
static void Save(Bar& barObject);
}
dans le code, j'aurai : Bar::Save(barInst) qu'on peut interpréter comme si la classe gère les instances.
Qu'est ce qui vous semble le plus correct (pour info les classes concernées représentes des Animations, caméras, ...) ?
Est ce qu'il existe des cas où il vaut mieux préférer l'un à l'autre ?
Vous pouvez aussi répondre : "tu te prends trop la tete, c'est pareil, prends en un au hasard"...
Merci d'avance !
EDIT : je pense que la méthode statique est moins performante que l'autre, à cause d'un passage d'un paramètre, non ?
Partager