GET /api/v2/video/1110
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "EuroPython 2011", "language": "English", "slug": "python-design-patterns", "speakers": [ "Alex Martelli" ], "tags": [ "architecture", "design", "patterns" ], "id": 1110, "state": 1, "title": "Python Design Patterns", "summary": "[EuroPython 2011] Alex Martelli - 24 June 2011 in \"Track Spaghetti\"\n\n", "description": "A completely misguided meme has long been going around: that Python doesn't\nhave, or need, any Design Patterns. This terrible meme may spring from not\nrealizing what the Gang Of Four state so plainly in their historical \"Design\nPatterns\" book: which design patterns are useful DOES depend on the\nprogramming language one targets - design is NOT independent of\nimplementation, as the epic-fail \"Waterfall\" Methodology Pattern would\nsuggest. What patterns apply to a design, depends to some extent on what\nimplementation technologies will be used to realize that design.\n\nIf you focus on some \"classic DPs\" that are basically workarounds for some\nother language's lack of garbage collection, or for a clumsy static-typing\nsystem, those may indeed be worthless for Python. But many other DPs are\nperfectly useful and applicable, and Python's strengths as a language afford\nriffing on them to develop highly 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,\nmake cameo appearances.\n\nGoals: remove from your system any residue of the pernicious meme about Python\nnot having or needing design patterns. Prereqs: experience designing and\ndeveloping software; intermediate-level Python knowledge.\n\n", "quality_notes": "", "copyright_text": "Standard YouTube License", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/bPJKYrZjq10?version=3&amp;hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://youtube.com/v/bPJKYrZjq10?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "http://i.ytimg.com/vi/bPJKYrZjq10/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": null, "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": "http://www.youtube.com/watch?v=bPJKYrZjq10", "whiteboard": "", "recorded": "2011-07-13", "added": "2012-08-30T21:02:33", "updated": "2014-04-08T20:28:27.871" }