2010-08-05 30 views
1

J'ai développé une application de commerce électronique, et maintenant j'apporte un soutien pour les coupons et les rabais. Je veux vos avis sur celui-ci, car c'est plus compliqué que je ne le pensais. Où dois-je garder ma logique pour tous les différents types de coupons?Coupons et remises dans une application de commerce électronique

Dites que j'ai un code promo me donnant l'offre "Achetez 3 et obtenez le moins cher gratuitement" avec une autre recherche de coupon "Obtenez 20% de réduction sur [ce produit]", et un tas d'autres coupons ("Get 10% de réduction sur le montant total "," Achetez 2 obtenez 50% de réduction sur le second "et ainsi de suite).

Je pense à avoir une interface Coupon et différentes implémentations stockées dans différentes classes, puis stocker le nom de la classe dans le DB avec les données pour le coupon. Cette approche est la plus facile à implémenter, mais ce n'est pas très joli de stocker un nom de classe dans la base de données ...

Comment le résoudre? Comment a-t-il été résolu dans des applications antérieures?

Répondre

0

Je pense qu'un moteur de règles offre un bon moyen de modéliser les coupons de manière découplée. Voir par exemple THIS Exemple d'application utilisant Drools.

HTH!

+0

Merci pour votre réponse! Bien que je ne pense pas que votre exemple soit la meilleure façon de résoudre cela - il stocke le code pur dans les fichiers XML! Je pense que je préférerais stocker le chemin vers une implémentation dans une source de données, au lieu de l'implémentation elle-même. Le moteur de règles est probablement la bonne approche! –