GET /api/v2/video/275
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "PyCon US 2010", "language": "English", "slug": "pycon-2010--powerful-pythonic-patterns---186", "speakers": [ "Alex Martelli" ], "tags": [ "designpatterns", "pycon", "pycon2010", "python-advanced" ], "id": 275, "state": 1, "title": "Powerful Pythonic Patterns (#186)", "summary": "", "description": "Powerful Pythonic Patterns video\n\nPresented by Alex Martelli\n\nAn extremely misguided meme is going around: that Python doesn't have, or\nneed, any Design Patterns. Maybe the meme springs from not realizing what the\nGang Of Four state so plainly in their historical \"Design Patterns\" book:\nwhich design patterns are useful DOES depend on the programming language one\ntargets -- design is NOT independent of implementation, as the epic-fail\n\"Waterfall\" Methodology Pattern would suggest. If you examine a \"classic DP\"\nthat's basically a workaround for some other language's lack of garbage\ncollection, or for a clumsy static-typing system, it may indeed be worthless\nfor Python. But many other DPs are still perfectly useful and applicable, and\nindeed Python's strengths as a language afford riffing on them to develop\nhighly Pythonic, powerful, productive variants.\n\nIn this talk, I analyze some of my favorite pattern families -- e.g., Template\nMethod and its variants, Dependency Injection and its ilk, Callback and\nfriends -- in a highly Pythonic context. Non-pattern Idioms, and Patterns that\naren't really Design Patterns but rather Architecture or Methodology ones,\nalso make cameo appearances.\n\n", "quality_notes": "", "copyright_text": "Creative Commons Attribution-NonCommercial-ShareAlike 3.0", "embed": "", "thumbnail_url": "", "duration": null, "video_ogv_length": null, "video_ogv_url": "", "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": "", "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": null, "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": null, "video_flv_download_only": false, "source_url": "", "whiteboard": "", "recorded": "2010-02-19", "added": "2012-02-23T04:20:00", "updated": "2014-04-08T20:28:28.168" }