{"id":187106,"date":"2025-01-01T07:25:02","date_gmt":"2025-01-01T06:25:02","guid":{"rendered":"https:\/\/glosarix.com\/glossary\/double-dispatch-en\/"},"modified":"2025-03-08T04:08:58","modified_gmt":"2025-03-08T03:08:58","slug":"double-dispatch-en","status":"publish","type":"glossary","link":"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/","title":{"rendered":"Double Dispatch"},"content":{"rendered":"<p>Description: Double Dispatch is a design pattern used in object-oriented programming to facilitate dynamic method resolution. This pattern allows the method to be executed to be determined at runtime, based on the types of two objects involved in the method call. The main characteristic of Double Dispatch is its ability to handle method overloading more efficiently, allowing an object&#8217;s behavior to adapt to different execution contexts. This is achieved by combining the information of the types of the objects involved in the interaction, resulting in greater flexibility and extensibility of the code. Essentially, Double Dispatch allows an object to respond not only to its own type but also to the type of the object it interacts with, which is particularly useful in systems that require a high degree of polymorphism. This pattern is fundamental in programming languages that support inheritance and polymorphism, as it allows for better code organization and greater clarity in application logic, facilitating the implementation of complex systems and code reuse.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Description: Double Dispatch is a design pattern used in object-oriented programming to facilitate dynamic method resolution. This pattern allows the method to be executed to be determined at runtime, based on the types of two objects involved in the method call. The main characteristic of Double Dispatch is its ability to handle method overloading more [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"glossary-categories":[12096],"glossary-tags":[13052],"glossary-languages":[],"class_list":["post-187106","glossary","type-glossary","status-publish","hentry","glossary-categories-design-patterns-en","glossary-tags-design-patterns-en"],"post_title":"Double Dispatch ","post_content":"Description: Double Dispatch is a design pattern used in object-oriented programming to facilitate dynamic method resolution. This pattern allows the method to be executed to be determined at runtime, based on the types of two objects involved in the method call. The main characteristic of Double Dispatch is its ability to handle method overloading more efficiently, allowing an object's behavior to adapt to different execution contexts. This is achieved by combining the information of the types of the objects involved in the interaction, resulting in greater flexibility and extensibility of the code. Essentially, Double Dispatch allows an object to respond not only to its own type but also to the type of the object it interacts with, which is particularly useful in systems that require a high degree of polymorphism. This pattern is fundamental in programming languages that support inheritance and polymorphism, as it allows for better code organization and greater clarity in application logic, facilitating the implementation of complex systems and code reuse.","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Double Dispatch - Glosarix<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Double Dispatch - Glosarix\" \/>\n<meta property=\"og:description\" content=\"Description: Double Dispatch is a design pattern used in object-oriented programming to facilitate dynamic method resolution. This pattern allows the method to be executed to be determined at runtime, based on the types of two objects involved in the method call. The main characteristic of Double Dispatch is its ability to handle method overloading more [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/\" \/>\n<meta property=\"og:site_name\" content=\"Glosarix\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-08T03:08:58+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@GlosarixOficial\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/\",\"url\":\"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/\",\"name\":\"Double Dispatch - Glosarix\",\"isPartOf\":{\"@id\":\"https:\/\/glosarix.com\/en\/#website\"},\"datePublished\":\"2025-01-01T06:25:02+00:00\",\"dateModified\":\"2025-03-08T03:08:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/glosarix.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Double Dispatch\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/glosarix.com\/en\/#website\",\"url\":\"https:\/\/glosarix.com\/en\/\",\"name\":\"Glosarix\",\"description\":\"T\u00e9rminos tecnol\u00f3gicos - Glosarix\",\"publisher\":{\"@id\":\"https:\/\/glosarix.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/glosarix.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/glosarix.com\/en\/#organization\",\"name\":\"Glosarix\",\"url\":\"https:\/\/glosarix.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/glosarix.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/glosarix.com\/wp-content\/uploads\/2025\/04\/Glosarix-logo-192x192-1.png.webp\",\"contentUrl\":\"https:\/\/glosarix.com\/wp-content\/uploads\/2025\/04\/Glosarix-logo-192x192-1.png.webp\",\"width\":192,\"height\":192,\"caption\":\"Glosarix\"},\"image\":{\"@id\":\"https:\/\/glosarix.com\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/GlosarixOficial\",\"https:\/\/www.instagram.com\/glosarixoficial\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Double Dispatch - Glosarix","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:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/","og_locale":"en_US","og_type":"article","og_title":"Double Dispatch - Glosarix","og_description":"Description: Double Dispatch is a design pattern used in object-oriented programming to facilitate dynamic method resolution. This pattern allows the method to be executed to be determined at runtime, based on the types of two objects involved in the method call. The main characteristic of Double Dispatch is its ability to handle method overloading more [&hellip;]","og_url":"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/","og_site_name":"Glosarix","article_modified_time":"2025-03-08T03:08:58+00:00","twitter_card":"summary_large_image","twitter_site":"@GlosarixOficial","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/","url":"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/","name":"Double Dispatch - Glosarix","isPartOf":{"@id":"https:\/\/glosarix.com\/en\/#website"},"datePublished":"2025-01-01T06:25:02+00:00","dateModified":"2025-03-08T03:08:58+00:00","breadcrumb":{"@id":"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/glosarix.com\/en\/glossary\/double-dispatch-en\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/glosarix.com\/en\/"},{"@type":"ListItem","position":2,"name":"Double Dispatch"}]},{"@type":"WebSite","@id":"https:\/\/glosarix.com\/en\/#website","url":"https:\/\/glosarix.com\/en\/","name":"Glosarix","description":"T\u00e9rminos tecnol\u00f3gicos - Glosarix","publisher":{"@id":"https:\/\/glosarix.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/glosarix.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/glosarix.com\/en\/#organization","name":"Glosarix","url":"https:\/\/glosarix.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/glosarix.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/glosarix.com\/wp-content\/uploads\/2025\/04\/Glosarix-logo-192x192-1.png.webp","contentUrl":"https:\/\/glosarix.com\/wp-content\/uploads\/2025\/04\/Glosarix-logo-192x192-1.png.webp","width":192,"height":192,"caption":"Glosarix"},"image":{"@id":"https:\/\/glosarix.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/GlosarixOficial","https:\/\/www.instagram.com\/glosarixoficial\/"]}]}},"_links":{"self":[{"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/glossary\/187106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/types\/glossary"}],"author":[{"embeddable":true,"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/comments?post=187106"}],"version-history":[{"count":0,"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/glossary\/187106\/revisions"}],"wp:attachment":[{"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/media?parent=187106"}],"wp:term":[{"taxonomy":"glossary-categories","embeddable":true,"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/glossary-categories?post=187106"},{"taxonomy":"glossary-tags","embeddable":true,"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/glossary-tags?post=187106"},{"taxonomy":"glossary-languages","embeddable":true,"href":"https:\/\/glosarix.com\/en\/wp-json\/wp\/v2\/glossary-languages?post=187106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}