In college I took on a class on modern physics, in which we learned about special relativity. I was completely blown away by how different frames of reference could actually ob
What you're talking about is one of the great "a HA!" moments that object oriented programmers run across. It's fun when it happens. I'd start with the gang of four "Design Patterns" book and branch out from there.