{"id":33953,"date":"2022-05-18T18:28:33","date_gmt":"2022-05-18T18:28:33","guid":{"rendered":"https:\/\/quera.org\/blog\/?p=33953"},"modified":"2025-03-02T16:00:47","modified_gmt":"2025-03-02T12:30:47","slug":"factory-design-pattern","status":"publish","type":"post","link":"https:\/\/quera.org\/blog\/factory-design-pattern\/","title":{"rendered":"\u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc Factory"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc\u200c\u062f\u0627\u0646\u06cc\u062f\u060c <strong>\u0627\u0644\u06af\u0648\u0647\u0627 <\/strong>\u0631\u0627\u0647\u200c\u062d\u0644\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627\u06cc\u062c \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0634\u06cc\u0621\u06af\u0631\u0627 \u0647\u0633\u062a\u0646\u062f. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u062a\u0627 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc <strong>\u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc Factory<\/strong> \u0628\u067e\u0631\u062f\u0627\u0632\u06cc\u0645.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc Factory<\/strong>\u060c \u06cc\u06a9 \u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc\u0650 \u0627\u06cc\u062c\u0627\u062f\u06cc (Creational) \u0627\u0633\u062a \u06a9\u0647 \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0627\u0634\u06cc\u0627 \u062f\u0631 \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0627\u0645\u0627 \u0628\u0647 \u0632\u06cc\u0631\u200c\u06a9\u0644\u0627\u0633\u200c\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0646\u0648\u0639 \u0627\u0634\u06cc\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u0646\u062f. \u0628\u0647\u200c\u0637\u0648\u0631 \u06a9\u0644\u06cc \u0627\u0644\u06af\u0648\u200c\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc\u0650 \u0627\u06cc\u062c\u0627\u062f\u06cc \u0628\u0647 \u0627\u0631\u0627\u0626\u0647\u0654 \u0631\u0627\u0647\u06a9\u0627\u0631 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0627\u0634\u06cc\u0627 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u0646\u062f. \u062d\u0627\u0644 \u0628\u0631\u0627\u06cc \u062f\u0631\u06a9 \u0628\u0647\u062a\u0631 <strong>\u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc Factory<\/strong> \u062e\u0648\u0628 \u0627\u0633\u062a \u0627\u0628\u062a\u062f\u0627 \u0628\u0647 \u0633\u0627\u062e\u062a\u0627\u0631 \u0622\u0646 \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"313\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2022\/05\/factory.jpg\" alt=\"\" class=\"wp-image-35533\" srcset=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2022\/05\/factory.jpg 680w, https:\/\/quera.org\/blog\/wp-content\/uploads\/2022\/05\/factory-300x138.jpg 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u0627\u0632 \u0627\u0633\u0645 \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u0647\u0645 \u067e\u06cc\u062f\u0627\u0633\u062a\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631 \u06a9\u0627\u0631\u062e\u0627\u0646\u0647\u200c\u0627\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0646\u062d\u0648\u0647\u0654 \u0627\u06cc\u062c\u0627\u062f \u0627\u0634\u06cc\u0627 \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u062e\u0627\u0646\u0647\u060c \u06a9\u0644\u0627\u0633 Creator \u0648\u0638\u06cc\u0641\u0647\u0654 \u0627\u06cc\u062c\u0627\u062f \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u0631\u0627 \u0628\u0631 \u0639\u0647\u062f\u0647 \u062f\u0627\u0631\u062f \u0648 \u0645\u062a\u062f\u06cc \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u06cc\u06a9 \u0634\u06cc\u0621 \u0627\u0632 \u0646\u0648\u0639 \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633 Product \u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f. \u0647\u0645\u200c\u0686\u0646\u06cc\u0646\u060c \u062f\u0631 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u062e\u0627\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647\u200c\u0648\u0633\u06cc\u0644\u0647 ConcreteCreator\u200c\u0647\u0627 \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u0645\u062e\u062a\u0644\u0641 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631\u060c Product \u0646\u06cc\u0632 \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u0627\u06cc\u062c\u0627\u062f\u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0631\u062e\u0627\u0646\u0647 \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u06a9\u0646\u062f. ConcreteProduct\u200c\u0647\u0627 \u0646\u06cc\u0632 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633 Product \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0645\u062a\u062f createProduct \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a abstract \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f \u062a\u0627 \u0647\u0631 \u06cc\u06a9 \u0627\u0632 ConcreteCreator\u200c\u0647\u0627 \u0645\u062a\u062f \u0631\u0627 \u0628\u0627 \u062a\u0648\u062c\u0647 \u0628\u0647 \u0646\u06cc\u0627\u0632 \u062e\u0648\u062f \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0646\u0645\u0627\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\" id=\"h-\u0645\u062b\u0627\u0644-\u0639\u0645\u0644\u06cc-\u0627\u0632-\u0627\u0644\u06af\u0648\u06cc-\u0637\u0631\u0627\u062d\u06cc-factory\">\u0645\u062b\u0627\u0644 \u0639\u0645\u0644\u06cc \u0627\u0632 \u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc Factory<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062d\u0627\u0644 \u06a9\u0647 \u0628\u0627 \u0633\u0627\u062e\u062a\u0627\u0631 \u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc Factory \u0622\u0634\u0646\u0627 \u0634\u062f\u06cc\u0645 \u062e\u0648\u0628 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0645\u062b\u0627\u0644\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u0628\u067e\u0631\u062f\u0627\u0632\u06cc\u0645. \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0642\u0627\u0628\u0644\u06cc\u062a\u06cc \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u062f\u0631 \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0628\u0647 \u0634\u06cc\u0648\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u06cc \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0647\u06cc\u0645. \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0642\u0631\u0627\u0631 \u0627\u0633\u062a \u0647\u062f\u0631 \u0647\u0631 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0645\u062e\u0635\u0648\u0635 \u0647\u0631 \u067e\u0644\u062a\u0641\u0631\u0645 \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f. \u0628\u0631\u0627\u06cc \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0628\u0627 \u0627\u0644\u06af\u0648\u06cc Factory \u0628\u0627\u06cc\u062f \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0639\u0645\u0644 \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u06f1- \u0627\u0628\u062a\u062f\u0627 <a href=\"https:\/\/fa.wikipedia.org\/wiki\/%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%81%DB%8C%D8%B3\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">\u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633<\/a> \u0645\u062d\u0635\u0648\u0644\u0627\u062a (\u062f\u0631 \u0627\u06cc\u0646\u200c\u062c\u0627 \u0647\u062f\u0631) \u0631\u0627 \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645. \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0647\u0645\u0647\u0654 \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633 \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php line-numbers\">\/\/ Product Interface\ninterface Header\n{\n&nbsp; &nbsp; public function render($content): void;\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u06f2- \u062d\u0627\u0644 \u0628\u0627\u06cc\u062f \u06a9\u0627\u0631\u062e\u0627\u0646\u0647 (\u06a9\u0644\u0627\u0633 Creator \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0635\u0641\u062d\u0647 \u0627\u0633\u062a) \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u0645 \u0648 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0632\u06cc\u0631\u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632\u0645\u0627\u0646 (\u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0635\u0641\u062d\u0647 \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0633\u062a) \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">\/\/ Factory\n\/\/ --------\n\/\/ Creator\nabstract class Page\n{\n    abstract public function createHeader(): Header;\n\n    public function show($content): void\n    {\n        $network = $this-&gt;createHeader();\n        $network-&gt;render($content);\n    }\n}\n\n\/\/ Concrete Creator for Web\nclass WebPage extends Page\n{\n    public function createHeader(): Header\n    {\n        return new WebHeader();\n    }\n}\n\n\/\/ Concrete Creator for Android\nclass AndroidPage extends Page\n{\n    public function createHeader(): Header\n    {\n        return new AndroidHeader();\n    }\n}\n\n\/\/ Concrete Creator for IOS\nclass IOSPage extends Page\n{\n    public function createHeader(): Header\n    {\n        return new IOSHeader();\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u06f3- \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0628\u0627\u06cc\u062f \u0628\u0647 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u0645\u062e\u062a\u0644\u0641 (\u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0647\u062f\u0631 \u0645\u062e\u0635\u0648\u0635 \u0647\u0631&nbsp; \u067e\u0644\u062a\u0641\u0631\u0645 \u0627\u0633\u062a) \u0628\u0631\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u0646\u0645\u0627\u06cc\u0634 \u0647\u0631 \u0635\u0641\u062d\u0647 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u06cc\u06a9 \u067e\u0644\u062a\u0641\u0631\u0645 \u062e\u0627\u0635 \u0628\u067e\u0631\u062f\u0627\u0632\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">\/\/ Concrete Product for Web\nclass WebHeader implements Header\n{\n    public function render($content): void\n    {\n        echo \"Render Web Header Content: $content &lt;br&gt;\";\n    }\n}\n\n\/\/ Concrete Product for Android\nclass AndroidHeader implements Header\n{\n    public function render($content): void\n    {\n        echo \"Render Android Header Content: $content &lt;br&gt;\";\n    }\n}\n\n\/\/ Concrete Product for IOS\nclass IOSHeader implements Header\n{\n    public function render($content): void\n    {\n        echo \"Render IOS Header Content: $content &lt;br&gt;\";\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062d\u0627\u0644 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0645\u0627 \u062a\u0645\u0627\u0645 \u0634\u062f\u0647 \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">function showPage(Page $creator)\n{\n    $creator-&gt;show(\"Hello world!\");\n    $creator-&gt;show(\"Hello Quera!\");\n}\n\necho \"Testing Concrete Creator for Web: &lt;br&gt;\";\nshowPage(new WebPage());\necho \"&lt;br&gt;&lt;br&gt;\";\n\necho \"Testing Concrete Creator for Android: &lt;br&gt;\";\nshowPage(new AndroidPage());\necho \"&lt;br&gt;&lt;br&gt;\";\n\necho \"Testing Concrete Creator for IOS: &lt;br&gt;\";\nshowPage(new IOSPage());<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u0631\u0648\u062c\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f \u06a9\u0647 \u0647\u062f\u0631 \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 \u0647\u0631 \u067e\u0644\u062a\u0641\u0631\u0645 \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u0627\u0647\u062f \u0634\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b \u062a\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0645\u062a\u0648\u062c\u0647 \u0634\u062f\u0647\u200c\u0627\u06cc\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u062f\u0627\u0631\u0627\u06cc \u0645\u0632\u0627\u06cc\u0627 \u0648 \u0645\u0639\u0627\u06cc\u0628\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062e\u0648\u0628 \u0627\u0633\u062a \u0628\u0631\u062e\u06cc \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0646\u06cc\u0632 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645. \u0627\u06af\u0631 \u0627\u0632 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0627\u0635\u0648\u0644 SOLID \u0628\u0647 \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0645\u062a\u0648\u062c\u0647 \u0645\u06cc\u200c\u0634\u0648\u06cc\u0645 \u06a9\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0633\u0627\u062e\u062a\u0627\u0631 \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u0628\u0647 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0646\u062f\u0627\u0631\u0646\u062f \u0648 \u0647\u0631 \u06a9\u0644\u0627\u0633 \u062a\u0646\u0647\u0627 \u0628\u0647 \u0627\u0646\u062c\u0627\u0645 \u0648\u0638\u06cc\u0641\u0647\u0654 \u062e\u0648\u062f \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u0635\u0644 Single Responsibility&nbsp;\u0628\u0647\u200c\u062e\u0648\u0628\u06cc \u0631\u0639\u0627\u06cc\u062a \u062e\u0648\u0627\u0647\u062f \u0634\u062f. \u0647\u0645\u200c\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u0634\u0645\u0627 \u0628\u0647\u200c\u0631\u0627\u062d\u062a\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0632\u06cc\u0631\u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc \u0645\u062f\u0646\u0638\u0631\u062a\u0627\u0646 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647\u0654 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u062a\u0627\u0646 \u0628\u067e\u0631\u062f\u0627\u0632\u06cc\u062f\u060c \u067e\u0633 \u0645\u0634\u062e\u0635 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0635\u0644 Open\/Closed Principle \u0646\u06cc\u0632 \u0628\u0647\u200c\u062e\u0648\u0628\u06cc \u0631\u0639\u0627\u06cc\u062a \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0645\u0627 \u06af\u0627\u0647\u06cc \u0627\u0648\u0642\u0627\u062a \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0627 \u0631\u0634\u062f \u067e\u0631\u0648\u0698\u0647\u060c \u062d\u062c\u0645 \u0632\u06cc\u0631 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u0632\u06cc\u0627\u062f \u0634\u0648\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a \u0627\u0632 \u0645\u0639\u0627\u06cc\u0628 \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u0628\u0647\u200c\u0634\u0645\u0627\u0631 \u0645\u06cc\u200c\u0622\u06cc\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u0634\u0631\u0627\u06cc\u0637 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0627\u0644\u06af\u0648\u06cc Factory \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u0632 \u0642\u0628\u0644\u060c \u0648\u06cc\u0698\u06af\u06cc \u062f\u0642\u06cc\u0642 \u0627\u0634\u06cc\u0627\u06cc\u06cc \u06a9\u0647 \u0642\u0631\u0627\u0631 \u0627\u0633\u062a \u0628\u0627 \u0622\u0646\u0647\u0627 \u06a9\u0627\u0631 \u06a9\u0646\u06cc\u0645 \u0631\u0627 \u0646\u0645\u06cc\u200c\u062f\u0627\u0646\u06cc\u0645.<\/li>\n\n\n\n<li>\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u067e\u0631\u0648\u0698\u0647\u200c\u0645\u0627\u0646 (\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u06cc\u0627 \u0686\u0627\u0631\u0686\u0648\u0628)\u060c \u0631\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0627\u062c\u0632\u0627\u06cc \u062f\u0627\u062e\u0644\u06cc \u0622\u0646 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u0645.<\/li>\n\n\n\n<li>\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0627\u0645\u0644\u06cc \u0631\u0648\u06cc \u06a9\u0644\u0627\u0633\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062c\u062f\u062f \u0627\u0632 \u0627\u0634\u06cc\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.&nbsp;<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0628\u0627 \u0633\u0627\u06cc\u0631 \u0627\u0644\u06af\u0648\u200c\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062d\u0644 \u062a\u0645\u0631\u06cc\u0646\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062f\u0631 \u0631\u0627\u0628\u0637\u0647 \u0628\u0627 \u0647\u0645\u06cc\u0646 \u0627\u0644\u06af\u0648\u200c\u0647\u0627\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 <a href=\"https:\/\/quera.org\/college\/landpage\/15166\/design-patterns\">\u062f\u0648\u0631\u0647 \u062f\u06cc\u0632\u0627\u06cc\u0646 \u067e\u062a\u0631\u0646 \u06a9\u0648\u0626\u0631\u0627<\/a> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u06cc\u0634\u062a\u0631 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f: <a href=\"https:\/\/quera.org\/blog\/what-is-design-pattern\/\">\u062f\u06cc\u0632\u0627\u06cc\u0646 \u067e\u062a\u0631\u0646 \u0686\u06cc\u0633\u062a \u061f \u2013 \u0647\u0631\u0686\u0647 \u0628\u0627\u06cc\u062f \u062f\u0631\u0645\u0648\u0631\u062f \u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc (Design Pattern) \u0628\u062f\u0627\u0646\u06cc\u062f<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc\u200c\u062f\u0627\u0646\u06cc\u062f\u060c \u0627\u0644\u06af\u0648\u0647\u0627 \u0631\u0627\u0647\u200c\u062d\u0644\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627\u06cc\u062c \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0634\u06cc\u0621\u06af\u0631\u0627 \u0647\u0633\u062a\u0646\u062f. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u062a\u0627 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u0644\u06af\u0648\u06cc&#8230;<\/p>\n","protected":false},"author":14,"featured_media":35563,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[65,46,48,78,298],"tags":[],"class_list":["post-33953","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","category-developer","category-technology","category-backend","category-plus"],"_links":{"self":[{"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/posts\/33953","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/comments?post=33953"}],"version-history":[{"count":22,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/posts\/33953\/revisions"}],"predecessor-version":[{"id":45418,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/posts\/33953\/revisions\/45418"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/media\/35563"}],"wp:attachment":[{"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/media?parent=33953"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/categories?post=33953"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/tags?post=33953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}