Well, first read through the available design patterns and their usage from GoF
http://www.dofactory.com/Patterns/Patterns.aspx[
^].
Then re-visit your application requirements and do the basic design on the use case model.
Then when it comes to the class diagram design phase, try to group/ separate the following (provided keeping in mind the basic Coding practices like DRY, Cohesiveness, loose coupling, separation of concern etc.)
1. Commonalities in the use cases [ that can be shared among].
2. Use cases and their expected behaviour
3. Any 3rd party libraries used?
4. Any existing modules being used, but not owned by your project?
5. Different interfaces that your application might be connected with?
and many more...
After you prepare a list of all the above, you can map them back to the design pattern to see which one best suits you.
Cheers
- Balaji