Sometimes I find myself designing my classes for a certain project. I start with some entities, some interfaces, but after some time I think:
Hey what about creating a handler for the classes using a Factory Method, Strategy, Using Generics, etc, etc, etc.
At some point when I look to my classes I have a lot of generics, small objects, everything turn so complicated that I feel demotivated. I turn a simple project into a NOT COMPLETED PSEUDO FRAMEWORK. And I've never created a framework before.
How do you battle the impulse to complicate things? How do yo recognise the point where you should stop the utopic design and start doing working things?