The Liskov Substitution Principle is a fundamental concept in object-oriented programming, stating that objects of a superclass should be replaceable with objects of a subclass without affecting the correctness of the program.
"Caring too much for objects can destroy you. Only—if you care for a thing enough, it takes on a life of its own, doesn’t it? And isn’t the whole point of things—beautiful things—that they connect you to some larger beauty?"