{"id":6173,"date":"2022-10-31T05:40:50","date_gmt":"2022-10-31T05:40:50","guid":{"rendered":"https:\/\/studysection.com\/blog\/?p=6173"},"modified":"2022-10-31T06:25:51","modified_gmt":"2022-10-31T06:25:51","slug":"explain-this-pattern-with-an-example-in-c-proxy-pattern","status":"publish","type":"post","link":"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/","title":{"rendered":"Explain this pattern with an example in C# &#8211; Proxy Pattern"},"content":{"rendered":"<p>In the <a href=\"https:\/\/studysection.com\/blog\/how-to-use-proxy-pattern-in-php\/\">proxy design pattern<\/a>, the functionality of one class is represented by another class. This design pattern comes under the structural design pattern which deals with class and object structure. The concept of inheritance is used to define methods to create interfaces and compose objects to get new functionality.<br \/>\n<img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/10\/flow-chart-09.png\" alt=\"flow-chart-09\" \/><\/p>\n<p>As you can see in the following image, when the client wants to consume some methods of the real object, it has to pass through the proxy object. This means that the client will call the method of the proxy object and the proxy will be responsible for calling the method of the actual object.<\/p>\n<h2>Proxy Pattern:<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/10\/flow-chart-009.png\" alt=\"flow-chart-009\" \/><\/p>\n<ul>\n<li><strong>Subject:<\/strong> This class provides an interface that both the actual class and the proxy class will implement. This way proxies can be easily used as a substitute for the actual subject.<\/li>\n<li><strong>Proxy:<\/strong> This class will be used by the applications and will expose the methods exposed by the topic. The application will use this class and this class will take care of talking to RealSubject internally and getting data to the local application.<\/li>\n<li><strong>RealSubject:<\/strong> It&#8217;s the actual object that has the actual logic to retrieve the data\/functionality. This is the class that the proxy represents at the end of the application.<\/li>\n<\/ul>\n<h3>Code Implementation for Proxy Pattern:<\/h3>\n<p><code>public interface Subject<br \/>\n{<br \/>\nvoid PerformAction();<br \/>\n}<\/code><\/p>\n<p>public class RealSubject: Subject<br \/>\n{<br \/>\npublic void PerformAction()<br \/>\n{<br \/>\nConsole.WriteLine(&#8220;RealSubject action performed.&#8221;);<br \/>\n}<br \/>\n}<\/p>\n<p>public class Proxy: Subject<br \/>\n{<br \/>\nprivate RealSubject _realSubject;<\/p>\n<p>public void PerformAction()<br \/>\n{<br \/>\nif (_realSubject == null)<br \/>\n_realSubject = new RealSubject();<\/p>\n<p>_realSubject.PerformAction();<br \/>\n}<br \/>\n}<\/p>\n<p><small><em>If you have skills in PHP programming and you want to enhance your career in this field, a PHP certification from StudySection can help you reach your desired goals. Both beginner-level and expert-level <a href=\"https:\/\/www.studysection.com\/php-web-development-advanced\">PHP Certification Exams<\/a> are offered by StudySection along with other programming certification exams.<\/em><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the proxy design pattern, the functionality of one class is represented by another class. This design pattern comes under<\/p>\n","protected":false},"author":1,"featured_media":6174,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[142,812],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Explain pattern with an example in C# - Proxy Pattern - SS Blog<\/title>\n<meta name=\"description\" content=\"In the proxy pattern, the functionality of one class is represented by another class. It comes under the structural design pattern.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Explain pattern with an example in C# - Proxy Pattern - SS Blog\" \/>\n<meta property=\"og:description\" content=\"In the proxy pattern, the functionality of one class is represented by another class. It comes under the structural design pattern.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Posts on famous people, innovations and educational topics\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/studysection\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-31T05:40:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-31T06:25:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/10\/Proxy-Pattern.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin-studysection-blog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@studysection\" \/>\n<meta name=\"twitter:site\" content=\"@studysection\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin-studysection-blog\" \/>\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\":\"Article\",\"@id\":\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/\"},\"author\":{\"name\":\"admin-studysection-blog\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402\"},\"headline\":\"Explain this pattern with an example in C# &#8211; Proxy Pattern\",\"datePublished\":\"2022-10-31T05:40:50+00:00\",\"dateModified\":\"2022-10-31T06:25:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/\"},\"wordCount\":301,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/studysection.com\/blog\/#organization\"},\"keywords\":[\"C\",\"Proxy\"],\"articleSection\":[\"Learn and Grow\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/\",\"url\":\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/\",\"name\":\"Explain pattern with an example in C# - Proxy Pattern - SS Blog\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/#website\"},\"datePublished\":\"2022-10-31T05:40:50+00:00\",\"dateModified\":\"2022-10-31T06:25:51+00:00\",\"description\":\"In the proxy pattern, the functionality of one class is represented by another class. It comes under the structural design pattern.\",\"breadcrumb\":{\"@id\":\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/studysection.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Explain this pattern with an example in C# &#8211; Proxy Pattern\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/studysection.com\/blog\/#website\",\"url\":\"https:\/\/studysection.com\/blog\/\",\"name\":\"Blog Posts on famous people, innovations and educational topics\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/studysection.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/studysection.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/studysection.com\/blog\/#organization\",\"name\":\"StudySection\",\"url\":\"https:\/\/studysection.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png\",\"contentUrl\":\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png\",\"width\":920,\"height\":440,\"caption\":\"StudySection\"},\"image\":{\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/studysection\",\"https:\/\/twitter.com\/studysection\",\"https:\/\/www.instagram.com\/study.section\/\",\"https:\/\/www.linkedin.com\/company\/studysection\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402\",\"name\":\"admin-studysection-blog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g\",\"caption\":\"admin-studysection-blog\"},\"url\":\"https:\/\/studysection.com\/blog\/author\/admin-studysection-blog\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Explain pattern with an example in C# - Proxy Pattern - SS Blog","description":"In the proxy pattern, the functionality of one class is represented by another class. It comes under the structural design pattern.","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:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/","og_locale":"en_US","og_type":"article","og_title":"Explain pattern with an example in C# - Proxy Pattern - SS Blog","og_description":"In the proxy pattern, the functionality of one class is represented by another class. It comes under the structural design pattern.","og_url":"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/","og_site_name":"Blog Posts on famous people, innovations and educational topics","article_publisher":"https:\/\/www.facebook.com\/studysection","article_published_time":"2022-10-31T05:40:50+00:00","article_modified_time":"2022-10-31T06:25:51+00:00","og_image":[{"width":300,"height":200,"url":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/10\/Proxy-Pattern.png","type":"image\/png"}],"author":"admin-studysection-blog","twitter_card":"summary_large_image","twitter_creator":"@studysection","twitter_site":"@studysection","twitter_misc":{"Written by":"admin-studysection-blog","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/#article","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/"},"author":{"name":"admin-studysection-blog","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402"},"headline":"Explain this pattern with an example in C# &#8211; Proxy Pattern","datePublished":"2022-10-31T05:40:50+00:00","dateModified":"2022-10-31T06:25:51+00:00","mainEntityOfPage":{"@id":"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/"},"wordCount":301,"commentCount":0,"publisher":{"@id":"https:\/\/studysection.com\/blog\/#organization"},"keywords":["C","Proxy"],"articleSection":["Learn and Grow"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/","url":"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/","name":"Explain pattern with an example in C# - Proxy Pattern - SS Blog","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/#website"},"datePublished":"2022-10-31T05:40:50+00:00","dateModified":"2022-10-31T06:25:51+00:00","description":"In the proxy pattern, the functionality of one class is represented by another class. It comes under the structural design pattern.","breadcrumb":{"@id":"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/studysection.com\/blog\/explain-this-pattern-with-an-example-in-c-proxy-pattern\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/studysection.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Explain this pattern with an example in C# &#8211; Proxy Pattern"}]},{"@type":"WebSite","@id":"https:\/\/studysection.com\/blog\/#website","url":"https:\/\/studysection.com\/blog\/","name":"Blog Posts on famous people, innovations and educational topics","description":"","publisher":{"@id":"https:\/\/studysection.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/studysection.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/studysection.com\/blog\/#organization","name":"StudySection","url":"https:\/\/studysection.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png","contentUrl":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png","width":920,"height":440,"caption":"StudySection"},"image":{"@id":"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/studysection","https:\/\/twitter.com\/studysection","https:\/\/www.instagram.com\/study.section\/","https:\/\/www.linkedin.com\/company\/studysection"]},{"@type":"Person","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402","name":"admin-studysection-blog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g","caption":"admin-studysection-blog"},"url":"https:\/\/studysection.com\/blog\/author\/admin-studysection-blog\/"}]}},"views":222,"_links":{"self":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/6173"}],"collection":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/comments?post=6173"}],"version-history":[{"count":6,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/6173\/revisions"}],"predecessor-version":[{"id":6182,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/6173\/revisions\/6182"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media\/6174"}],"wp:attachment":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media?parent=6173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/categories?post=6173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/tags?post=6173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}