Mostly i have programmed in either procedural languages or Functional. Now i have a need to put effort to implement some business logic in Java. Now i read this at lots of places, you have to program to interfaces then implementations. My approach has always been thinking of implementation first, and than designing accordingly. Being very young in this world, needs advice.<p>Is there a problem in thinking in terms of implementation first ? For example, we have to create a simple coin toss game, for me its always been solving the problem so i would create some functions to run this thing. Now thinking this in terms of interfaces is a new world for me. Would love to have some advice.<p>P.S. i have spent lot of time programming design problems, reading patterns. Still the question.