{"type":"rich","blog_url":"https://www.shigemk2.com/","provider_url":"https://hatena.blog","image_url":null,"categories":["\u8aad\u66f8\u30ce\u30fc\u30c8"],"title":"97 Things Every Programmer Should Know 59 Missing Opportunities for Polymorphism","published":"2013-05-07 20:06:27","width":"100%","url":"https://www.shigemk2.com/entry/20130507/1367924787","provider_name":"Hatena Blog","blog_title":"by shigemk2","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.shigemk2.com%2Fentry%2F20130507%2F1367924787\" title=\"97 Things Every Programmer Should Know 59 Missing Opportunities for Polymorphism - by shigemk2\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","height":"190","author_url":"https://blog.hatena.ne.jp/shigemk2/","author_name":"shigemk2","version":"1.0","description":"polymorphism isn't simply about alternate implementations. Used carefully, polymorphism creates tiny localized execution contexts that let us work without the need for verbose if-then-else blocks. While there are cases where it's much more practical to use if-then-else instead of polymorphism, it is\u2026"}