{"id":78,"date":"2020-05-18T09:23:41","date_gmt":"2020-05-18T09:23:41","guid":{"rendered":"https:\/\/turtleflyblog.com\/?p=78"},"modified":"2022-02-28T10:13:27","modified_gmt":"2022-02-28T10:13:27","slug":"solid-isp","status":"publish","type":"post","link":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/","title":{"rendered":"SOLID principle \u2013 ISP"},"content":{"rendered":"\n

This article introduces one of solid principles which is ISP (Interface Segregation Principle).<\/p>\n\n\n\n

It is better to build a small-sized interface than a heavy interface as a small-size interface is easier to refactor and decouple.<\/p>\n\n\n\n

Too many is better than too few<\/em><\/p>\n\n\n\n

For example, you have IAnimal<\/strong> interface which has three methods(eat, move and sleep)<\/p>\n\n\n\n

\"\"<\/figure>\n\n\n\n

The above IAnimal interface works on most animals such as bear, elephant and tiger, etc. However, if you want plant class to implement IAnimal<\/strong> interface, you will notice that most behaviors of IAnimal interface does not work on plant.<\/p>\n\n\n\n

However, if we can break IAnimal interface into three small interfaces (eat, sleep, move). Plant can\u2019t move and sleep, but it can eat as it can consume energy and release oxygen. Hence, eat behavior can work on Plant interface<\/p>\n\n\n\n

\"\"<\/figure>\n\n\n\n

The above example proves that a small interface is more useful than a large interface.<\/p>\n","protected":false},"excerpt":{"rendered":"

This article introduces one of solid principles which is ISP (Interface Segregation Principle). It is better to build a small-sized interface than a heavy interface as a small-size interface is easier to refactor and decouple. Too many is better than too few For example, you have IAnimal interface which has three methods(eat, move and sleep) […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[31],"tags":[],"class_list":["post-78","post","type-post","status-publish","format-standard","hentry","category-software-engineering"],"yoast_head":"\nSOLID principle \u2013 ISP - Who said turtle cannot fly<\/title>\n<meta name=\"description\" content=\"It is better to build a small-sized interface than a heavy interface as a small-size interface is easier to refactor and decouple.Too many is better than too few\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SOLID principle \u2013 ISP - Who said turtle cannot fly\" \/>\n<meta property=\"og:description\" content=\"It is better to build a small-sized interface than a heavy interface as a small-size interface is easier to refactor and decouple.Too many is better than too few\" \/>\n<meta property=\"og:url\" content=\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/\" \/>\n<meta property=\"og:site_name\" content=\"Who said turtle cannot fly\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-18T09:23:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-28T10:13:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/turtleflyblog.com\/wp-content\/uploads\/2020\/05\/ISP01-1.png\" \/>\n<meta name=\"author\" content=\"Joseph\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joseph\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/\",\"url\":\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/\",\"name\":\"SOLID principle \u2013 ISP - Who said turtle cannot fly\",\"isPartOf\":{\"@id\":\"https:\/\/turtleflyblog.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/turtleflyblog.com\/wp-content\/uploads\/2020\/05\/ISP01-1.png\",\"datePublished\":\"2020-05-18T09:23:41+00:00\",\"dateModified\":\"2022-02-28T10:13:27+00:00\",\"author\":{\"@id\":\"https:\/\/turtleflyblog.com\/#\/schema\/person\/130c2e1bdce4a8ba27bfe14c65988172\"},\"description\":\"It is better to build a small-sized interface than a heavy interface as a small-size interface is easier to refactor and decouple.Too many is better than too few\",\"breadcrumb\":{\"@id\":\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#breadcrumb\"},\"inLanguage\":\"en-AU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/turtleflyblog.com\/wp-content\/uploads\/2020\/05\/ISP01-1.png?fit=269%2C190&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/turtleflyblog.com\/wp-content\/uploads\/2020\/05\/ISP01-1.png?fit=269%2C190&ssl=1\",\"width\":269,\"height\":190},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/turtleflyblog.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SOLID principle \u2013 ISP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/turtleflyblog.com\/#website\",\"url\":\"https:\/\/turtleflyblog.com\/\",\"name\":\"Who said turtle cannot fly\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/turtleflyblog.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-AU\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/turtleflyblog.com\/#\/schema\/person\/130c2e1bdce4a8ba27bfe14c65988172\",\"name\":\"Joseph\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/turtleflyblog.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/539caa7bc4af75cd4ab82fc8d51935da?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/539caa7bc4af75cd4ab82fc8d51935da?s=96&d=mm&r=g\",\"caption\":\"Joseph\"},\"sameAs\":[\"https:\/\/turtleflyblog.com\/\/\"],\"url\":\"https:\/\/turtleflyblog.com\/author\/joseph\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SOLID principle \u2013 ISP - Who said turtle cannot fly","description":"It is better to build a small-sized interface than a heavy interface as a small-size interface is easier to refactor and decouple.Too many is better than too few","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/","og_locale":"en_US","og_type":"article","og_title":"SOLID principle \u2013 ISP - Who said turtle cannot fly","og_description":"It is better to build a small-sized interface than a heavy interface as a small-size interface is easier to refactor and decouple.Too many is better than too few","og_url":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/","og_site_name":"Who said turtle cannot fly","article_published_time":"2020-05-18T09:23:41+00:00","article_modified_time":"2022-02-28T10:13:27+00:00","og_image":[{"url":"https:\/\/turtleflyblog.com\/wp-content\/uploads\/2020\/05\/ISP01-1.png","type":"","width":"","height":""}],"author":"Joseph","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Joseph","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/","url":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/","name":"SOLID principle \u2013 ISP - Who said turtle cannot fly","isPartOf":{"@id":"https:\/\/turtleflyblog.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#primaryimage"},"image":{"@id":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#primaryimage"},"thumbnailUrl":"https:\/\/turtleflyblog.com\/wp-content\/uploads\/2020\/05\/ISP01-1.png","datePublished":"2020-05-18T09:23:41+00:00","dateModified":"2022-02-28T10:13:27+00:00","author":{"@id":"https:\/\/turtleflyblog.com\/#\/schema\/person\/130c2e1bdce4a8ba27bfe14c65988172"},"description":"It is better to build a small-sized interface than a heavy interface as a small-size interface is easier to refactor and decouple.Too many is better than too few","breadcrumb":{"@id":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#breadcrumb"},"inLanguage":"en-AU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/"]}]},{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#primaryimage","url":"https:\/\/i0.wp.com\/turtleflyblog.com\/wp-content\/uploads\/2020\/05\/ISP01-1.png?fit=269%2C190&ssl=1","contentUrl":"https:\/\/i0.wp.com\/turtleflyblog.com\/wp-content\/uploads\/2020\/05\/ISP01-1.png?fit=269%2C190&ssl=1","width":269,"height":190},{"@type":"BreadcrumbList","@id":"https:\/\/turtleflyblog.com\/en\/2020\/05\/18\/solid-isp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/turtleflyblog.com\/en\/"},{"@type":"ListItem","position":2,"name":"SOLID principle \u2013 ISP"}]},{"@type":"WebSite","@id":"https:\/\/turtleflyblog.com\/#website","url":"https:\/\/turtleflyblog.com\/","name":"Who said turtle cannot fly","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/turtleflyblog.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-AU"},{"@type":"Person","@id":"https:\/\/turtleflyblog.com\/#\/schema\/person\/130c2e1bdce4a8ba27bfe14c65988172","name":"Joseph","image":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/turtleflyblog.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/539caa7bc4af75cd4ab82fc8d51935da?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/539caa7bc4af75cd4ab82fc8d51935da?s=96&d=mm&r=g","caption":"Joseph"},"sameAs":["https:\/\/turtleflyblog.com\/\/"],"url":"https:\/\/turtleflyblog.com\/author\/joseph\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/posts\/78","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/comments?post=78"}],"version-history":[{"count":1,"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/posts\/78\/revisions"}],"predecessor-version":[{"id":679,"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/posts\/78\/revisions\/679"}],"wp:attachment":[{"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/media?parent=78"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/categories?post=78"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/turtleflyblog.com\/wp-json\/wp\/v2\/tags?post=78"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}