{"id":5609,"date":"2022-02-23T04:36:25","date_gmt":"2022-02-23T04:36:25","guid":{"rendered":"https:\/\/studysection.com\/blog\/?p=5609"},"modified":"2022-02-23T04:59:17","modified_gmt":"2022-02-23T04:59:17","slug":"javascript-jquery-factory-pattern","status":"publish","type":"post","link":"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/","title":{"rendered":"Javascript \/ Jquery &#8211; Factory Pattern"},"content":{"rendered":"<p>Factory pattern is a constructive pattern that provides a  template that is used to create the objects. It is used in that situation where the type of object required can vary and need to be specified in each case. This <a href=\"https:\/\/studysection.com\/blog\/javascript-jquery-prototype-pattern\/\">pattern <\/a> does not use the new keyword to create the instance of objects. It does not require the use of a constructor to create objects. It provides the generic interface that assigns the object creation responsibility to the corresponding sub-classes.<\/p>\n<p>As the factory term implies we can use this pattern to create different objects which have some similar features. Let\u2019s take an example of a flavored shakes factory that can be used to create different flavors of shakes.<\/p>\n<p><code>class FlavouredShakesFactory {<br \/>\n  constructor() {<br \/>\n\tthis.createShakes = function(flavor) {<br \/>\n  \tlet Shake;<br \/>\n  \tif (flavor === 'chocolate'){<br \/>\n      \tShake = new Chocolate();<br \/>\n  \t}<br \/>\n  \telse if (flavor === 'mango'){<br \/>\n      \tShake = new Mango();<br \/>\n  \t}<br \/>\n  \telse if (flavor === 'strawberry'){<br \/>\n      \tShake = new Strawberry();<br \/>\n  \t}<br \/>\n  \treturn Shake;<br \/>\n\t};<br \/>\n  }<br \/>\n}<br \/>\nclass Chocolate {<br \/>\n  constructor() {<br \/>\n\tthis.shakeFlavor = \"chocolate\";<br \/>\n\tthis.message = function() {<br \/>\n  \treturn `You chose the ${this.shakeFlavor} flavor.`;<br \/>\n\t};<br \/>\n  }<br \/>\n}<br \/>\nclass Mango {<br \/>\n  constructor() {<br \/>\n\tthis.shakeFlavor = \"mango\";<br \/>\n\tthis.message = function() {<br \/>\n  \treturn `You chose the ${this.shakeFlavor} flavor.`;<br \/>\n\t};<br \/>\n  }<br \/>\n}<br \/>\nclass Strawberry{<br \/>\n  constructor() {<br \/>\n\tthis.shakeFlavor = \"strawberry\";<br \/>\n\tthis.message = function() {<br \/>\n  \treturn `You chose the ${this.shakeFlavor} flavor.`;<br \/>\n\t};<br \/>\n  }<br \/>\n}<br \/>\n\/\/ creating objects<br \/>\nconst flavouredShakesfactory = new FlavouredShakesFactory();<br \/>\nconst chocolate = flavouredShakesfactory.createShakes('chocolate');<br \/>\nconst mango = flavouredShakesfactory.createShakes('mango');<br \/>\nconst strawberry = flavouredShakesfactory.createShakes('strawberry');<br \/>\nconsole.log(chocolate.message());<br \/>\nconsole.log(mango.message());<br \/>\nconsole.log(strawberry.message());<\/code><\/p>\n<p>In the example above we created a factory called FlavouredShakesFactory. Its constructor has a function createShakes that accepts the parameter flavor. Depending on the flavor, it instantiates an object of the corresponding class. For example, if the flavor is chocolate, it instantiates an object of the Chocolate class. It does the same if the flavor is mango or strawberry<\/p>\n<p><small><em>People having good knowledge of Financial accounting can get an accounting certification from StudySection to increase their chances of getting a job in this field. You can get a foundation level certification if you are new to <a href=\"https:\/\/www.studysection.com\/financial-accounting-advanced\">Financial Accounting<\/a> or you can go for advanced level certification if you have expert level skills in Financial accounting.<\/em><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Factory pattern is a constructive pattern that provides a template that is used to create the objects. It is used<\/p>\n","protected":false},"author":1,"featured_media":5610,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[170,758],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Javascript \/ Jquery - Factory Pattern - StudySection Blog<\/title>\n<meta name=\"description\" content=\"Factory pattern is a constructive pattern that provides a template that is used to create objects. It doesn&#039;t require use of a constructor to create objects.\" \/>\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\/javascript-jquery-factory-pattern\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Javascript \/ Jquery - Factory Pattern - StudySection Blog\" \/>\n<meta property=\"og:description\" content=\"Factory pattern is a constructive pattern that provides a template that is used to create objects. It doesn&#039;t require use of a constructor to create objects.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/studysection.com\/blog\/javascript-jquery-factory-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-02-23T04:36:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-23T04:59:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/02\/Factory-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\/javascript-jquery-factory-pattern\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/\"},\"author\":{\"name\":\"admin-studysection-blog\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402\"},\"headline\":\"Javascript \/ Jquery &#8211; Factory Pattern\",\"datePublished\":\"2022-02-23T04:36:25+00:00\",\"dateModified\":\"2022-02-23T04:59:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/\"},\"wordCount\":239,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/studysection.com\/blog\/#organization\"},\"keywords\":[\"Jquery\",\"Pattern\"],\"articleSection\":[\"Learn and Grow\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/\",\"url\":\"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/\",\"name\":\"Javascript \/ Jquery - Factory Pattern - StudySection Blog\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/#website\"},\"datePublished\":\"2022-02-23T04:36:25+00:00\",\"dateModified\":\"2022-02-23T04:59:17+00:00\",\"description\":\"Factory pattern is a constructive pattern that provides a template that is used to create objects. It doesn't require use of a constructor to create objects.\",\"breadcrumb\":{\"@id\":\"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/studysection.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Javascript \/ Jquery &#8211; Factory 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":"Javascript \/ Jquery - Factory Pattern - StudySection Blog","description":"Factory pattern is a constructive pattern that provides a template that is used to create objects. It doesn't require use of a constructor to create objects.","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\/javascript-jquery-factory-pattern\/","og_locale":"en_US","og_type":"article","og_title":"Javascript \/ Jquery - Factory Pattern - StudySection Blog","og_description":"Factory pattern is a constructive pattern that provides a template that is used to create objects. It doesn't require use of a constructor to create objects.","og_url":"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/","og_site_name":"Blog Posts on famous people, innovations and educational topics","article_publisher":"https:\/\/www.facebook.com\/studysection","article_published_time":"2022-02-23T04:36:25+00:00","article_modified_time":"2022-02-23T04:59:17+00:00","og_image":[{"width":300,"height":200,"url":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2022\/02\/Factory-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\/javascript-jquery-factory-pattern\/#article","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/"},"author":{"name":"admin-studysection-blog","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402"},"headline":"Javascript \/ Jquery &#8211; Factory Pattern","datePublished":"2022-02-23T04:36:25+00:00","dateModified":"2022-02-23T04:59:17+00:00","mainEntityOfPage":{"@id":"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/"},"wordCount":239,"commentCount":0,"publisher":{"@id":"https:\/\/studysection.com\/blog\/#organization"},"keywords":["Jquery","Pattern"],"articleSection":["Learn and Grow"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/","url":"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/","name":"Javascript \/ Jquery - Factory Pattern - StudySection Blog","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/#website"},"datePublished":"2022-02-23T04:36:25+00:00","dateModified":"2022-02-23T04:59:17+00:00","description":"Factory pattern is a constructive pattern that provides a template that is used to create objects. It doesn't require use of a constructor to create objects.","breadcrumb":{"@id":"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/studysection.com\/blog\/javascript-jquery-factory-pattern\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/studysection.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Javascript \/ Jquery &#8211; Factory 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":464,"_links":{"self":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/5609"}],"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=5609"}],"version-history":[{"count":2,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/5609\/revisions"}],"predecessor-version":[{"id":5612,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/5609\/revisions\/5612"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media\/5610"}],"wp:attachment":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media?parent=5609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/categories?post=5609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/tags?post=5609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}