Practice with Joshi's Design Patterns for Derivative Pricing