Maintain a Single Layer of Abstraction at a Time – OO Design Principles | Hacker News Reader