Je travaille sur une application de paiement à grande échelle pour un projet en cours. Cette extraction a de nombreux cas en fonction du niveau d'administration de l'utilisateur, comment ils sont arrivés à la caisse, et quel type d'article ils extraient, et donc le processus est extrait des pages .aspx via un ensemble de classes de contexte.Meilleure façon de décider quelle sous-classe est nécessaire
Ces classes sont toutes sous-classes à partir d'une seule classe, CheckoutContext, et le type de classe à utiliser est noté via une énumération.
Y at-il quelque chose de similaire à typedef je peux utiliser pour choisir la sous-classe à utiliser, ou devrais-je avoir simplement une méthode qui retourne la classe concernée, comme suit:
CheckoutContext chooseSubclass(CheckoutCase c)
{
CheckoutContext output;
switch (c):
{
case CheckoutCase.SingleItemNew:
output = new SingleItemNew;
break;
case . . .
return output;
}
}
De quelle dynamique avez-vous besoin? Je veux dire, à quelle fréquence ajoutez-vous de nouvelles sous-classes, et doivent-elles être configurées sans recompiler votre application? Avez-vous plusieurs développeurs qui créent ces sous-classes? Si vous traitez plusieurs de ces types d'exigences, vous aurez peut-être besoin d'une solution plus robuste. Si non, alors restez avec l'interrupteur. – Josh
Tout le problème est que le processus de commande est trop complexe pour traiter un cas section par section, nous aurions besoin d'environ 15 méthodes par page pour gérer les champs disponibles. Ainsi, nous séparons le processus en classes. Il y a une très bonne possibilité que d'autres seront faites plus tard, donc je veux une solution qui nécessite peu d'effort supplémentaire pour ajouter un processus de paiement. –