Many Types Make Light Work
The talk is written in Deckset-flavoured Markdown.
A recording of my presentation of v1.0 of this talk at NSScotland is available.
Synopsis (for the conf)
Every programmer regularly faces the challenges of managing complexity and change. Subclassing can help us simplify, by sharing code and interfaces between related parts of our program. But when requirements change out from under our class hierarchy, unanticipated fragility can mean bugs, sweat and tears. Swift offers us a better way.
Subclassing is a broken idea, so factor & compose instead where possible, and when Cocoa makes you subclass, do it in a factored, composable way.