I am working on an application, a module of which does the following financial operations sequentially:
When a user requests for a certain amount to be transferred into her bank account:
- check whether any transaction can happen now? (transaction can be carried out only during a certain time period)
- check whether the user has requested for a minimum amount to be withdrawn
- check whether the user has any default account
The result of all the above actions should be logged.
If all the above condition satisfies, the transaction is carried out. In future, there might be some additional checks.
Which object oriented design pattern should be best suitable for the above case?