hichlibedis
hichanbis

Pour ceux qui pigent pas un petit exemple:

Mauvais pattern:

void PlayCard(string cardName){
    if (cardName == "Toto")
      //ici le code de la carte toto
else if (cardName == "Titi")
      //ici le code de la carte titi
else if 
....
}

Le problème c'est que s'il y a une merde sur une carte (toto par exemple) pour debug c'est un enfer et un risque de tout casser vu que je touche une méthode qui fait tout.


bien meilleur pattern (même si je passerais pas par un string ici en vrai):

void PlayCard(string cardName) {

   Card card = CardFactory.GetCardFromName(cardName);
   card.Play();
}

Ici je peux juste aller dans ma classe Toto qui hérite de Card et changer le code de la carte en question.

hichanbis (23 Apr 2024)