Fondamentalement, chaque entité aurait une collection de comportements alimentaires qu'il suivrait. Pour une raison quelconque, le modèle que j'ai imaginé ne me semble pas juste. Je pense que la partie la plus troublante est que l'utilisation de singletons a du sens.Existe-t-il un meilleur moyen de modéliser le comportement alimentaire d'un organisme?
Y a-t-il un meilleur moyen?
public bool IsEntityEdible(Entity target)
{
foreach (var feedingBehavior in FeedingBehaviors)
{
if (feedingBehavior.WouldEat(target))
{
return true;
}
}
return false;
}
public abstract class FeedingBehavior
{
public abstract bool WouldEat(Entity entity);
}
public sealed class Myrmecophagy : FeedingBehavior
{
public readonly static Myrmecophagy Instance = new Myrmecophagy();
private Myrmecophagy() { }
public override bool WouldEat(Entity entity)
{
return entity is Ant || entity is Termite;
}
}
Pouvez-vous préciser davantage pourquoi vous pensez que cela ne se sent pas bien? Le comportement d'alimentation des organismes n'est pas exactement un problème standard qui est couramment modélisé dans le développement de logiciels ... – dtb
Je pense que vous devez utiliser le modèle FeedingOrganism du livre GoF. – LeopardSkinPillBoxHat
@dtb - Je pense que la partie la plus troublante est que l'utilisation de singletons est logique. – ChaosPandion