Maintain a Single Layer of Abstraction at a Time – OO Design Principles
khalilstemmler.com