Are there any known design patterns for implementing discount models?
By discount models, I mean the following: