Composition Over Inheritance
A gentle, thorough guide to one of the most useful ideas in software design: the box-of-clip-together-blocks vs. pre-molded-figure analogy, what inheritance really gives you (code reuse, polymorphism, specialization), what composition really is (holding and delegating), the two flavors composition/aggregation, the is-a vs has-a sentence test with the classic Penguin/FlyingBird and…