我开发了一个电子商务应用程序,现在我正在添加对优惠券和折扣的支持。不过,我希望您对此发表意见,因为它比我最初预期的要棘手。
我应该在哪里保留所有不同类型优惠券的逻辑?
假设我有一个优惠券代码,提供“购买 3 件,免费获得最便宜”的优惠,还有另一个优惠券搜索“在 [此产品] 上获得 20% 的折扣”,以及一堆其他优惠券(“总共获得 10% 的折扣金额”、“购买 2 件可享受第二件 50% 的折扣”等等)。
我正在考虑将Coupon
接口和不同的实现存储在不同的类中,然后将类名与优惠券的数据一起存储在数据库中。这种方法是最容易实现的,但是在数据库中存储类名并不是很漂亮......
你会怎么解决?它在早期的应用程序中是如何解决的?