Problems, Context and Solutions - the right way of choosing the Design Patterns for pertinent problem in a given context