{"id":15650597,"url":"https://github.com/robrix/many-types-make-light-work","last_synced_at":"2025-04-23T15:04:28.137Z","repository":{"id":21761664,"uuid":"25083753","full_name":"robrix/Many-Types-Make-Light-Work","owner":"robrix","description":"Don’t subclass.","archived":false,"fork":false,"pushed_at":"2015-04-11T01:04:29.000Z","size":12320,"stargazers_count":35,"open_issues_count":0,"forks_count":1,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-02-05T02:39:14.605Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robrix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-11T15:20:00.000Z","updated_at":"2019-08-28T21:20:35.000Z","dependencies_parsed_at":"2022-08-17T19:50:45.822Z","dependency_job_id":null,"html_url":"https://github.com/robrix/Many-Types-Make-Light-Work","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robrix%2FMany-Types-Make-Light-Work","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robrix%2FMany-Types-Make-Light-Work/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robrix%2FMany-Types-Make-Light-Work/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robrix%2FMany-Types-Make-Light-Work/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robrix","download_url":"https://codeload.github.com/robrix/Many-Types-Make-Light-Work/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246262492,"owners_count":20749170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T12:35:10.471Z","updated_at":"2025-03-30T00:40:56.949Z","avatar_url":"https://github.com/robrix.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Many Types Make Light Work\n\nThis is the talk which I gave at [NSScotland 2014](http://2014.nsscotland.com) in Edinburgh on October 26, 2014. I will be giving it at [NSNorth 2015](http://nsnorth.ca), April 10-12, 2015.\n\nThe talk is written in [Deckset-flavoured Markdown](https://github.com/robrix/Many-Types-Make-Light-Work/blob/master/Many%20Types%20Make%20Light%20Work.md).\n\nA [recording of my presentation of v1.0 of this talk at NSScotland](http://vimeo.com/album/3132071/video/111942573) is available.\n\n\n## Synopsis (for the conf)\n\nEvery 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.\n\n\n## TL;DR\n\nSubclassing is a broken idea, so factor \u0026 compose instead where possible, and when Cocoa makes you subclass, do it in a factored, composable way.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobrix%2Fmany-types-make-light-work","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobrix%2Fmany-types-make-light-work","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobrix%2Fmany-types-make-light-work/lists"}