You want to begin to learn the patterns literature.
Object oriented programming gives you the tools, but doesn't tell you how to
effectively use them. We all just rummage in the dark in this way, but
after a while, some techniques started showing up over and over. A group of
clever researchers decided to ask some of the best developers using OO
languages what solutions they were coming up with. If a solution tended to
appear over and over, the researchers wrote it down, gave it a name, and
described when it would be good to use.
These recurring solutions are called "design patterns."
The landmark book that opened up design patterns to the world is called
"Design Patterns, Elements of Reusable Object Oriented Software" by Gamma,
Helms, Johnson, and Vlissides (a.k.a. the Gang of Four).
This book is an excellent reference, but not an easy read. I do not
recommend that you start there. I recommend, instead, that you start with a
slim and readable volume called
"Design Patterns Explained" by Shalloway and Trott
These are not code snippets per se, although many books illustrate their
examples using bits of code, and I've seen at least one patterns book come
with a CD illustrating samples of each pattern (Design patterns in C# by
Cooper). Design patterns are not libraries, either. They are techniques
and solutions to the problem of learning and understanding Object Oriented
programming.
Take a look at the Shalloway book. If you aren't a better programmer after
reading that book, I'll eat my hat. (I read it in two days... it's an easy
read).
--- Nick