{"id":29140,"date":"2026-09-11T08:21:46","date_gmt":"2026-09-11T08:21:46","guid":{"rendered":"https:\/\/umang.pk\/2026\/09\/11\/%d8%ac%d8%a7%d9%85%d8%b9-%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%d9%be%db%8c%d9%b9%d8%b1%d9%86-%d8%a7%db%8c%da%a9-%db%81%db%8c-%d8%a7%d9%86%d9%b9%d8%b1%d9%81%db%8c%d8%b3-%da%a9%db%92-%d8%b0%d8%b1%db%8c\/"},"modified":"2026-09-11T08:21:46","modified_gmt":"2026-09-11T08:21:46","slug":"%d8%ac%d8%a7%d9%85%d8%b9-%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%d9%be%db%8c%d9%b9%d8%b1%d9%86-%d8%a7%db%8c%da%a9-%db%81%db%8c-%d8%a7%d9%86%d9%b9%d8%b1%d9%81%db%8c%d8%b3-%da%a9%db%92-%d8%b0%d8%b1%db%8c","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/09\/11\/%d8%ac%d8%a7%d9%85%d8%b9-%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%d9%be%db%8c%d9%b9%d8%b1%d9%86-%d8%a7%db%8c%da%a9-%db%81%db%8c-%d8%a7%d9%86%d9%b9%d8%b1%d9%81%db%8c%d8%b3-%da%a9%db%92-%d8%b0%d8%b1%db%8c\/","title":{"rendered":"\u062c\u0627\u0645\u0639 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646: \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0627\u0648\u0631 \u06af\u0631\u0648\u067e\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u06cc\u06ba\u06d4"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0633\u0627\u062e\u062a\u06cc \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0646\u0645\u0648\u0646\u06d2 \u0627\u0633 \u0628\u0627\u062a \u0633\u06d2 \u0646\u0645\u0679\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0633\u0627\u062e\u062a \u0627\u0648\u0631 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06cc\u0633\u06d2 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0646\u0645\u0648\u0646\u06c1 \u062c\u0648 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06d2 \u0645\u0646\u0638\u0631\u0646\u0627\u0645\u0648\u06ba \u06a9\u0648 \u0645\u0646\u0638\u0645 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0627\u0645\u0639 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0648 \u06cc\u06c1 \u067e\u06cc\u0679\u0631\u0646 \u0627\u0635\u0644 \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u061f<\/p>\n<p>\u0645\u06cc\u06ba \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u0645\u062b\u0627\u0644 \u062f\u06cc\u062a\u0627 \u06c1\u0648\u06ba\u06d4 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u0688\u06cc\u0679\u0627 \u0633\u06cc\u0679\u0633 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0622\u067e \u0627\u0646 \u0688\u06cc\u0679\u0627 \u0633\u06cc\u0679\u0633 \u06a9\u0648 \u0645\u0646\u0638\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0637\u0631\u06cc\u0642\u06c1 \u06c1\u06d2\u06d4 \u06c1\u0645 \u06cc\u06c1 \u0628\u06be\u06cc \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0628\u0644\u06cc\u0648 \u067e\u0631\u0646\u0679 \u0627\u0633 \u0688\u06cc\u0679\u0627 \u06a9\u0627 \u0646\u0638\u0645 \u06a9\u0631\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0628\u0691\u06be\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06d2\u06d4 \u06cc\u06c1 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u0645\u067e\u0648\u0632\u06cc\u0634\u0646 \u06a9\u06d2 \u062c\u0627\u0645\u0639 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06c1\u062a\u0631\u06cc\u0646 \u0641\u0679 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u06a9\u0686\u06be \u062f\u06cc\u06af\u0631 \u0648\u0627\u0636\u062d \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u06c1\u06cc\u06ba:<\/p>\n<ul>\n<li>\n<p>\u0622\u067e \u06a9\u06cc \u062e\u0631\u06cc\u062f\u0627\u0631\u06cc \u06a9\u06cc \u0679\u0648\u06a9\u0631\u06cc \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 \u06a9\u0686\u06be \u0627\u0634\u06cc\u0627\u0621 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0641\u0631\u0648\u062e\u062a \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0642\u06cc\u0645\u062a \u062f\u0631\u06a9\u0627\u0631 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0679\u06cc\u06a9\u0633 \u0646\u0638\u0627\u0645 \u0645\u06cc\u06ba \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0679\u06cc\u06a9\u0633 \u062f\u06c1\u0646\u062f\u06af\u0627\u0646 \u06c1\u06cc\u06ba\u06d4 \u0641\u06cc\u0645\u0644\u06cc \u06af\u0631\u0648\u067e\u0633 \u0627\u0648\u0631 \u06a9\u0627\u0631\u067e\u0648\u0631\u06cc\u0679 \u06af\u0631\u0648\u067e\u0633 \u0628\u06be\u06cc \u06c1\u06cc\u06ba\u06d4 \u062a\u0645\u0627\u0645 \u0622\u0626\u0679\u0645\u0632 \u067e\u0631 \u0679\u06cc\u06a9\u0633\u0648\u06ba \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u0646\u06d2\u060c \u0686\u06be\u0648\u0679 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0633\u0627\u0644 \u0628\u06c1 \u062a\u0627\u0631\u06cc\u062e \u06a9\u06d2 \u06a9\u0644 \u062d\u0633\u0627\u0628 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u0633\u0633\u0679\u0645 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0641\u0627\u0626\u0644\u0648\u06ba \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 \u0627\u06cc\u0633\u06d2 \u0641\u0648\u0644\u0688\u0631\u0632 \u0628\u06be\u06cc \u06c1\u06cc\u06ba \u062c\u0646 \u0645\u06cc\u06ba \u0641\u0627\u0626\u0644\u06cc\u06ba \u06cc\u0627 \u062f\u0648\u0633\u0631\u06d2 \u0641\u0648\u0644\u0688\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0633\u0627\u0626\u0632 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1 \u06c1\u0648\u06af\u0627 \u06a9\u06c1 \u0627\u0641\u0631\u0627\u062f \u0627\u0648\u0631 \u06af\u0631\u0648\u06c1\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0644\u06af \u0627\u0644\u06af \u0645\u0646\u0637\u0642 \u0644\u06a9\u06be\u06cc\u06ba\u060c \u067e\u06be\u0631 \u0679\u0627\u0626\u067e \u0686\u06cc\u06a9\u0646\u06af \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0622\u067e \u06a9\u0648 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0633\u0646\u0628\u06be\u0627\u0644\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0644\u06cc\u06a9\u0646 \u0645\u0646\u0637\u0642 \u0645\u062e\u062a\u0644\u0641 \u06c1\u06d2\u06d4 \u0679\u0627\u0626\u067e \u0686\u06cc\u06a9 \u0636\u0631\u0628\u06d4 \u0627\u0648\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0646\u0626\u06d2 \u06a9\u0627\u0645 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u062f\u0648\u0646\u0648\u06ba \u0634\u0627\u062e\u0648\u06ba \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u0628\u0691\u06be\u0627\u0646\u0627 \u0645\u0634\u06a9\u0644 \u0627\u0648\u0631 \u0628\u06be\u0631\u0648\u0633\u06c1 \u06a9\u0631\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0627\u0645\u0639 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u0627\u0633\u06d2 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u062e\u062a\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0627\u0648\u0631 \u06af\u0631\u0648\u06c1 \u062f\u0648\u0646\u0648\u06ba \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u0642\u0633\u0645 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u06c1\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0648 \u06a9\u0633\u06cc \u067e\u062a\u06cc \u06cc\u0627 \u0645\u0631\u06a9\u0628 \u067e\u0631 \u06a9\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u062f\u0648\u0646\u0648\u06ba \u0637\u0631\u062d \u0633\u06d2 \u0635\u062d\u06cc\u062d \u0646\u062a\u06cc\u062c\u06c1 \u062d\u0627\u0635\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0627\u0626\u0637<\/h2>\n<p>\u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0622\u067e \u06a9\u0648 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0633\u06d2 \u0648\u0627\u0642\u0641 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2:<\/p>\n<ul>\n<li>\n<p>\u0622\u0628\u062c\u06cc\u06a9\u0679 \u067e\u0631 \u0645\u0628\u0646\u06cc \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af: \u062e\u0644\u0627\u0635\u06c1 \u06a9\u0644\u0627\u0633\u0632\u060c \u0627\u0646\u0679\u0631\u0641\u06cc\u0633\u0632\u060c \u0627\u0648\u0631 \u0648\u0631\u0627\u062b\u062a<\/p>\n<\/li>\n<li>\n<p>\u062a\u0635\u0648\u0631\u0627\u062a\u06cc \u0633\u0637\u062d \u067e\u0631 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>\u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u0627\u0631\u0679 \u06cc\u0627 C# \u0646\u062d\u0648<\/p>\n<\/li>\n<\/ul>\n<p>\u0633\u0627\u062e\u062a\u06cc \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0646\u0645\u0648\u0646\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0633\u06cc \u067e\u06cc\u0634\u06af\u06cc \u062a\u062c\u0631\u0628\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0645\u0636\u0645\u0648\u0646 \u062d\u0642\u06cc\u0642\u06cc \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u06a9\u06cc \u0645\u062b\u0627\u0644\u0648\u06ba \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0635\u0648\u0644\u0648\u06ba \u06a9\u06d2 \u062c\u0627\u0645\u0639 \u0646\u0645\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0645\u062a\u0639\u0627\u0631\u0641 \u06a9\u0631\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-is-the-composite-design-pattern\">\u0627\u06cc\u06a9 \u062c\u0627\u0645\u0639 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/h2>\n<p>\u062c\u0627\u0645\u0639 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u0627\u06cc\u06a9 \u0633\u0627\u062e\u062a\u06cc \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06c1\u06d2. \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06d2 \u0646\u0645\u0648\u0646\u06d2 \u0627\u0633 \u0628\u0627\u062a \u0633\u06d2 \u0646\u0645\u0679\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06cc\u0633\u06d2 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u0637\u0631\u0632 \u0639\u0645\u0644 \u06a9\u06d2 \u0646\u0645\u0648\u0646\u06d2 \u0627\u0633 \u0628\u0627\u062a \u0633\u06d2 \u0646\u0645\u0679\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc\u0633\u06d2 \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u062c\u0628\u06a9\u06c1 \u0633\u0627\u062e\u062a\u06cc \u0646\u0645\u0648\u0646\u06d2 \u0627\u0633 \u0628\u0627\u062a \u0633\u06d2 \u0646\u0645\u0679\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u0648 \u06a9\u0633 \u0637\u0631\u062d \u0645\u0646\u0638\u0645 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0627\u0645\u0639 \u067e\u06cc\u0679\u0631\u0646 \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u062c\u0632\u0648\u06cc \u0645\u06a9\u0645\u0644 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0633\u06d2 \u0646\u0645\u0679\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u0648 \u062f\u0631\u062e\u062a \u06a9\u06d2 \u0688\u06be\u0627\u0646\u0686\u06d2 \u0645\u06cc\u06ba \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u06d2 \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0633 \u062f\u0631\u062e\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u0633 \u0637\u0631\u062d \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u062c\u06cc\u0633\u06d2 \u062f\u0631\u062e\u062a \u06a9\u06d2 \u062a\u0645\u0627\u0645 \u0646\u0648\u0688\u0633 \u0627\u06cc\u06a9 \u06c1\u06cc \u0642\u0633\u0645 \u06a9\u06d2 \u06c1\u0648\u06ba\u06d4<\/p>\n<p>\u0628\u0646\u06cc\u0627\u062f\u06cc \u062e\u06cc\u0627\u0644 \u062f\u06be\u0648\u06a9\u06c1 \u062f\u06c1\u06cc \u0633\u06d2 \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0633\u06d2 \u0627\u0633 \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06d2 \u06af\u0631\u0648\u067e\u0633 \u06a9\u0648 \u0628\u06be\u06cc \u0627\u0633 \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0628 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0645\u06cc\u06ba \u06c1\u0631 \u0686\u06cc\u0632 \u0627\u06cc\u06a9 \u06c1\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u067e\u0631 \u062c\u0648\u0627\u0628 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u06a9\u0648 \u067e\u062a\u06cc\u0648\u06ba \u0627\u0648\u0631 \u0645\u0631\u06a9\u0628\u0627\u062a \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0641\u0631\u0642 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u0627 \u0627\u0635\u0644 \u0645\u0637\u0644\u0628 \u06a9\u06cc\u0627 \u06c1\u06d2 &quot;\u0627\u06cc\u06a9 \u0645\u062a\u062d\u062f \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0627\u0648\u0631 \u06af\u0631\u0648\u06c1\u0648\u06ba \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u0646\u0627\u06d4&#8221; \u0633\u0646\u06af\u0644 \u0645\u06cc\u062a\u06be\u0688 \u06a9\u0627\u0644\u060c \u0642\u0637\u0639 \u0646\u0638\u0631 \u0627\u0633 \u0633\u06d2 \u06a9\u06c1 \u0622\u067e \u0627\u0633\u06d2 \u06a9\u0633\u06cc \u0627\u06cc\u06a9 \u0622\u0626\u0679\u0645 \u067e\u0631 \u06a9\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06cc\u0627 \u0633\u06cc\u06a9\u0691\u0648\u06ba \u0622\u0626\u0679\u0645\u0632 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u0646\u06cc\u0633\u0679\u0688 \u06af\u0631\u0648\u067e \u067e\u0631\u060c \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0645\u06cc\u06ba \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u067e\u0631 \u0622\u067e \u06a9\u0648 \u0635\u062d\u06cc\u062d \u0646\u062a\u06cc\u062c\u06c1 \u0645\u0644\u06d2 \u06af\u0627\u06d4<\/p>\n<h2 id=\"heading-the-three-layers\">\u062a\u06cc\u0646 \u062a\u06c1\u0648\u06ba<\/h2>\n<p>\u0627\u06cc\u06a9 \u062c\u0627\u0645\u0639 \u067e\u06cc\u0679\u0631\u0646 \u0645\u06cc\u06ba \u062a\u06cc\u0646 \u0627\u0644\u06af \u0627\u0644\u06af \u067e\u0631\u062a\u06cc\u06ba \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba: \u06a9\u0648\u0688 \u06a9\u0648 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u0631 \u0627\u06cc\u06a9 \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u06d2 \u0633\u06d2 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u0632\u06cc\u0627\u062f\u06c1 \u0648\u0627\u0636\u062d \u06c1\u0648\u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<h3 id=\"heading-the-component-layer\">\u0627\u062c\u0632\u0627\u0621 \u06a9\u06cc \u067e\u0631\u062a<\/h3>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u062a\u062c\u0631\u06cc\u062f\u06cc \u06a9\u0644\u0627\u0633 \u06cc\u0627 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06c1\u06d2 \u062c\u0648 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06d2 \u0645\u0639\u0627\u06c1\u062f\u06d2 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0646 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0627\u0648\u0631 \u06af\u0631\u0648\u06c1\u0648\u06ba \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u062c\u0632\u0627\u0621 \u06cc\u06a9\u0633\u0627\u06ba \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u06a9\u0648 \u0627\u06c1\u0644 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0645\u06cc\u06ba \u06c1\u0631 \u0686\u06cc\u0632 \u0627\u0633 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u06c1\u0631 \u0686\u06cc\u0632 \u0627\u0633\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0644 \u06a9\u0627 \u062c\u0648\u0627\u0628 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-leaf-layer\">\u067e\u062a\u06cc\u0648\u06ba \u06a9\u06cc \u067e\u0631\u062a<\/h3>\n<p>\u0627\u06cc\u06a9 \u067e\u062a\u06cc \u0627\u06cc\u06a9 \u062c\u0632\u0648 \u06a9\u0627 \u0679\u06be\u0648\u0633 \u0646\u0641\u0627\u0630 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u06cc \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0686\u06cc\u0632 \u06a9\u06cc \u0646\u0645\u0627\u0626\u0646\u062f\u06af\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u0686\u06d2 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u060c \u062c\u06cc\u0633\u06d2 \u06a9\u06c1 \u0634\u0627\u067e\u0646\u06af \u06a9\u0627\u0631\u0679 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06c1\u06cc \u0686\u06cc\u0632\u060c \u0627\u06cc\u06a9 \u0679\u06cc\u06a9\u0633 \u062f\u06c1\u0646\u062f\u06c1\u060c \u06cc\u0627 \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644\u06d4 \u0644\u06cc\u0641 \u0627\u062c\u0632\u0627\u0621 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u0648 \u0627\u067e\u0646\u06cc \u0645\u062e\u0635\u0648\u0635 \u0645\u0646\u0637\u0642 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-composite-layer\">\u062c\u0627\u0645\u0639 \u067e\u0631\u062a<\/h3>\n<p>\u06a9\u0645\u067e\u0648\u0632\u0679 \u0628\u06be\u06cc \u0627\u062c\u0632\u0627\u0621 \u06a9\u0627 \u0627\u06cc\u06a9 \u0679\u06be\u0648\u0633 \u0646\u0641\u0627\u0630 \u06c1\u06d2\u06d4 \u062a\u0627\u06c1\u0645\u060c \u0644\u06cc\u0641 \u06a9\u06d2 \u0628\u0631\u0639\u06a9\u0633\u060c \u0627\u0633 \u0645\u06cc\u06ba \u0628\u0686\u0648\u06ba \u06a9\u0627 \u0645\u062c\u0645\u0648\u0639\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0628\u0686\u06c1 \u0627\u06cc\u06a9 \u062c\u0632\u0648 \u06c1\u06d2\u06d4 \u06cc\u0639\u0646\u06cc \u06c1\u0631 \u0628\u0686\u06c1 \u0627\u06cc\u06a9 \u067e\u062a\u06cc \u06cc\u0627 \u062f\u0648\u0633\u0631\u06cc \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0686\u06cc\u0632 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0645\u067e\u0648\u0632\u0679 \u0627\u067e\u0646\u06d2 \u0628\u0686\u0648\u06ba \u06a9\u0648 \u062a\u0641\u0648\u06cc\u0636 \u06a9\u0631\u06a9\u06d2 \u0627\u0648\u0631 \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u06a9\u06d2 \u0627\u062c\u0632\u0627\u0621 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646 \u062a\u06c1\u0648\u06ba \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u062a\u0639\u0644\u0642\u0627\u062a \u062f\u0631\u062e\u062a \u06a9\u06cc \u0633\u0627\u062e\u062a \u0627\u0648\u0631 \u06cc\u06a9\u0633\u0627\u06ba \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0642\u0627\u0628\u0644 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062e\u0631\u06cc\u062f\u0627\u0631\u06cc \u06a9\u06cc \u0679\u0648\u06a9\u0631\u06cc \u06a9\u0648 \u0642\u06cc\u0645\u062a \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u0627\u067e\u0646\u06cc \u0642\u06cc\u0645\u062a\u06cc\u06ba \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0628\u0646\u0688\u0644 \u0645\u062a\u0639\u062f\u062f \u0627\u0634\u06cc\u0627\u0621 \u06a9\u0648 \u06af\u0631\u0648\u067e \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0642\u06cc\u0645\u062a \u0627\u0646 \u06a9\u06d2 \u0645\u0648\u0627\u062f \u06a9\u0627 \u0645\u062c\u0645\u0648\u0639\u06c1 \u06c1\u06d2\u06d4 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u062c\u0648\u0627\u0628 \u062f\u06cc\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 <code>getPrice()<\/code>.<\/p>\n<h3 id=\"heading-the-component\">\u062c\u0632\u0648<\/h3>\n<pre><code class=\"language-csharp\">abstract class PriceComponent {\n  double getPrice();\n}\n<\/code><\/pre>\n<p><code>PriceComponent<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0639\u0627\u06c1\u062f\u06c1 \u06c1\u06d2\u06d4 \u0634\u0627\u067e\u0646\u06af \u06a9\u0627\u0631\u0679 \u06a9\u06d2 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2: <code>getPrice()<\/code>. \u06cc\u06c1 \u067e\u0648\u0631\u0627 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0637\u0631\u06cc\u0642\u06c1 \u062c\u0648 \u062a\u0645\u0627\u0645 \u0627\u0634\u06cc\u0627\u0621 \u0645\u06cc\u06ba \u06cc\u06a9\u0633\u0627\u06ba \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-leaf\">\u067e\u062a\u06cc<\/h3>\n<pre><code class=\"language-csharp\">class CartItem extends PriceComponent {\n  final int id;\n  final String name;\n  final double price;\n\n  CartItem({required this.id, required this.name, required this.price});\n\n  @override\n  double getPrice() {\n    return price;\n  }\n}\n<\/code><\/pre>\n<p><code>CartItem<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u067e\u062a\u06cc \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u06cc \u062e\u0631\u06cc\u062f\u0627\u0631\u06cc \u06a9\u06cc \u0679\u0648\u06a9\u0631\u06cc \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0622\u0626\u0679\u0645 \u06a9\u06cc \u0646\u0645\u0627\u0626\u0646\u062f\u06af\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>getPrice()<\/code> \u06cc\u06c1 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u067e\u0646\u06cc \u0642\u06cc\u0645\u062a \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0648\u0626\u06cc \u0645\u0646\u062f\u0648\u0628\u06cc\u0646 \u06cc\u0627 \u0628\u0686\u06d2 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0627\u067e\u0646\u06d2 \u0622\u067e \u0645\u06cc\u06ba \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u0642\u062f\u0631 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-composite\">\u067e\u06cc\u0686\u06cc\u062f\u06c1<\/h3>\n<pre><code class=\"language-csharp\">class ItemBundle extends PriceComponent {\n  final int bundleId;\n  final String bundleName;\n  final List<pricecomponent> _items = [];\n\n  ItemBundle({required this.bundleId, required this.bundleName});\n\n  void add(PriceComponent component) {\n    _items.add(component);\n  }\n\n  void remove(PriceComponent component) {\n    _items.remove(component);\n  }\n\n  @override\n  double getPrice() {\n    return _items.fold(0, (total, item) => total + item.getPrice());\n  }\n}\n<\/pricecomponent><\/code><\/pre>\n<p><code>ItemBundle<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u062c\u0627\u0645\u0639 \u06c1\u06d2\u06d4 \u06c1\u0645\u0627\u0631\u06d2 \u067e\u0627\u0633 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0641\u06c1\u0631\u0633\u062a \u06c1\u06d2: <code>PriceComponent<\/code> \u0628\u0686\u06d2\u06d4 \u06a9\u06c1 <code>getPrice()<\/code> \u06cc\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0648\u0644\u0627\u062f \u06a9\u0648 \u062a\u0641\u0648\u06cc\u0636 \u06a9\u0631\u06cc\u06ba: <code>fold<\/code>\u062e\u0644\u0627\u0635\u06c1 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u06c1\u0631 \u0628\u0686\u06c1 \u06a9\u06cc\u0627 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06c1\u0645 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a: <code>_items<\/code> \u06c1\u06d2 <code>List<pricecomponent\/><\/code>\u0646\u06c1\u06cc\u06ba <code>List<cartitem\/><\/code>. \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2: <code>ItemBundle<\/code> \u062f\u0648\u0646\u0648\u06ba \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <code>CartItem<\/code> \u067e\u062a\u06d2 \u0627\u0648\u0631 \u062f\u06cc\u06af\u0631 <code>ItemBundle<\/code> \u0645\u0631\u06a9\u0628\u0627\u062a \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0648 \u0636\u0631\u0648\u0631\u062a \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u06af\u06c1\u0631\u0627\u0626\u06cc \u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-using-it\">\u0627\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2<\/h3>\n<pre><code class=\"language-dart\">void main() {\n  \n  final burger = CartItem(id: 1, name: 'Burger', price: 5.99);\n  final fries = CartItem(id: 2, name: 'Fries', price: 2.99);\n  final drink = CartItem(id: 3, name: 'Drink', price: 1.99);\n  final apple = CartItem(id: 4, name: 'Apple', price: 0.99);\n\n \n  final comboMeal = ItemBundle(bundleId: 1, bundleName: 'Combo Meal');\n  comboMeal\n    ..add(burger)\n    ..add(fries)\n    ..add(drink);\n\n\n  final cart = ItemBundle(bundleId: 0, bundleName: 'My Cart');\n  cart\n    ..add(comboMeal) \n    ..add(apple);    \n\n  \/\/ same method call on everything\n  print('Burger: \\$${burger.getPrice()}');           \n  print('Combo Meal: \\$${comboMeal.getPrice()}');    \n  print('Full Cart: \\$${cart.getPrice()}');          \n}\n<\/code><\/pre>\n<p><code>burger.getPrice()<\/code>    \u0644\u06cc\u0641 \u06a9\u06d2 \u0646\u0641\u0627\u0630 \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>comboMeal.getPrice()<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u062c\u0627\u0645\u0639 \u0646\u0641\u0627\u0630 \u06a9\u0648 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u062a\u06cc\u0646 \u0628\u0686\u0648\u06ba \u06a9\u0648 \u062a\u0641\u0648\u06cc\u0636 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>cart.getPrice()<\/code> \u0688\u06cc\u0644\u06cc\u06af\u06cc\u0679\u0646\u06af \u06a9\u0645\u067e\u0648\u0632\u0679 \u0646\u0641\u0627\u0630 \u06a9\u0648 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>combo meal<\/code> \u062c\u0627\u0645\u0639 \u0627\u0648\u0631 <code>apple<\/code> \u067e\u062a\u06cc<\/p>\n<p>\u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u062a\u0645\u0627\u0645 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06cc\u06a9\u0633\u0627\u06ba \u0633\u0644\u0648\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>getPrice()<\/code>\u0646\u062a\u06cc\u062c\u06c1\u060c \u0645\u06a9\u0645\u0644\u06d4<\/p>\n<h2 id=\"heading-real-world-example-two-tax-management\">\u062d\u0642\u06cc\u0642\u06cc \u0632\u0646\u062f\u06af\u06cc \u06a9\u06cc \u0645\u062b\u0627\u0644 2: \u0679\u06cc\u06a9\u0633 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0645<\/h2>\n<p>\u06cc\u06c1 \u0645\u062b\u0627\u0644 \u0632\u06cc\u0627\u062f\u06c1 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0688\u0648\u0645\u06cc\u0646 \u067e\u0631 \u0644\u0627\u06af\u0648 \u0627\u06cc\u06a9 \u062c\u0627\u0645\u0639 \u0646\u0645\u0648\u0646\u06c1 \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0679\u06cc\u06a9\u0633 \u06a9\u06d2 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u06d2 \u0646\u0638\u0627\u0645 \u06a9\u0648 \u0679\u06cc\u06a9\u0633 \u06a9\u06cc \u0631\u0642\u0645 \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0686\u06be\u0648\u0679 \u06a9\u0627 \u0627\u0637\u0644\u0627\u0642 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0627\u0648\u0631 \u0633\u0627\u0644 \u0628\u06c1 \u062a\u0627\u0631\u06cc\u062e \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u0646 \u062d\u0633\u0627\u0628\u0627\u062a \u06a9\u0648 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0679\u06cc\u06a9\u0633 \u062f\u06c1\u0646\u062f\u06af\u0627\u0646 \u0627\u0648\u0631 \u0679\u06cc\u06a9\u0633 \u062f\u06c1\u0646\u062f\u06af\u0627\u0646 \u06a9\u06d2 \u06af\u0631\u0648\u067e\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0627\u0644\u06a9\u0644 \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-component\">\u062c\u0632\u0648<\/h3>\n<pre><code class=\"language-csharp\">abstract class TaxManager {\n  num getTaxAmount();\n  num getTaxDiscount();\n  num getTotalTaxYTD();\n}\n<\/code><\/pre>\n<p><code>TaxManager<\/code>    \u06c1\u0645 \u062a\u06cc\u0646 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba: \u0679\u06cc\u06a9\u0633 \u06a9\u06cc \u062a\u06c1\u06c1 \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u062a\u0645\u0627\u0645 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u0648 \u062a\u06cc\u0646\u0648\u06ba \u06a9\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u06cc\u06a9 \u0679\u06cc\u06a9\u0633 \u062f\u06c1\u0646\u062f\u06c1 \u0627\u0633\u06d2 \u0627\u067e\u0646\u06d2 \u0688\u06cc\u0679\u0627 \u0633\u06d2 \u0644\u0627\u06af\u0648 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06af\u0631\u0648\u067e\u0633 \u062a\u0645\u0627\u0645 \u0627\u0631\u0627\u06a9\u06cc\u0646 \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631 \u06a9\u06d2 \u0627\u0633 \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u0627\u0646 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u0648 \u06c1\u0631 \u0686\u06cc\u0632 \u067e\u0631 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0635\u062d\u06cc\u062d \u0646\u062a\u06cc\u062c\u06c1 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-leaf\">\u067e\u062a\u06cc<\/h3>\n<pre><code class=\"language-csharp\">class SingleUser extends TaxManager {\n  final num _amount;\n  final List<num> _allTaxes;\n\n  SingleUser(this._amount, this._allTaxes);\n\n  @override\n  num getTaxAmount() {\n    return _amount;\n  }\n\n  @override\n  num getTaxDiscount() {\n   \n    return _amount % 2 == 0 ? _amount : (_amount \/ 2);\n  }\n\n  @override\n  num getTotalTaxYTD() {\n    num total = 0;\n    for (final tax in _allTaxes) {\n      total += tax;\n    }\n    return total;\n  }\n}\n<\/num><\/code><\/pre>\n<p><code>SingleUser<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u067e\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0679\u06cc\u06a9\u0633 \u062f\u06c1\u0646\u062f\u06c1 \u06a9\u06cc \u0646\u0645\u0627\u0626\u0646\u062f\u06af\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>_amount<\/code> \u06cc\u06c1 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0679\u06cc\u06a9\u0633 \u06a9\u06cc \u0631\u0642\u0645 \u06c1\u06d2\u06d4 <code>_allTaxes<\/code> \u06cc\u06c1 \u0633\u0627\u0644\u0627\u0646\u06c1 \u0679\u06cc\u06a9\u0633 \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc\u0648\u06ba \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u06c1\u06d2\u06d4 \u06c1\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u0635\u0631\u0641 \u0627\u0633 \u0634\u062e\u0635 \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><code>getTaxDiscount()<\/code>    \u0633\u0627\u062f\u06c1 \u0631\u0639\u0627\u06cc\u062a\u06cc \u0642\u0648\u0627\u0646\u06cc\u0646 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06a9\u0633\u0627\u06ba \u0646\u0645\u0628\u0631 \u0648\u0627\u0644\u06cc \u0631\u0642\u0645 \u067e\u0648\u0631\u06cc \u0631\u0642\u0645 \u0648\u0635\u0648\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0637\u0627\u0642 \u0646\u0645\u0628\u0631 \u0648\u0627\u0644\u06cc \u0631\u0642\u0645 \u0646\u0635\u0641 \u0648\u0635\u0648\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0635\u0648\u0644 \u0627\u06cc\u06a9 \u0641\u0631\u062f \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0627\u0646 \u062a\u0645\u0627\u0645 \u06af\u0631\u0648\u067e\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u067e\u06be\u06cc\u0644\u062a\u0627 \u06c1\u06d2 \u062c\u0646 \u0645\u06cc\u06ba \u06cc\u06c1 \u0635\u0627\u0631\u0641 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4<\/p>\n<p><code>getTotalTaxYTD()<\/code>    \u0635\u0627\u0631\u0641 \u06a9\u06cc \u06af\u0632\u0634\u062a\u06c1 \u0679\u06cc\u06a9\u0633 \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc\u0648\u06ba \u06a9\u0648 \u0633\u0627\u0644 \u0633\u06d2 \u062a\u0627\u0631\u06cc\u062e \u06a9\u06d2 \u06a9\u0644 \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-composite\">\u067e\u06cc\u0686\u06cc\u062f\u06c1<\/h3>\n<pre><code class=\"language-csharp\">class UserGroup extends TaxManager {\n  final String groupName;\n  final List<taxmanager> _members = [];\n\n  UserGroup(this.groupName);\n\n  void add(TaxManager member) {\n    _members.add(member);\n  }\n\n  void remove(TaxManager member) {\n    _members.remove(member);\n  }\n\n  @override\n  num getTaxAmount() {\n    return _members.fold(0, (total, member) => total + member.getTaxAmount());\n  }\n\n  @override\n  num getTaxDiscount() {\n    return _members.fold(0, (total, member) => total + member.getTaxDiscount());\n  }\n\n  @override\n  num getTotalTaxYTD() {\n    return _members.fold(0, (total, member) => total + member.getTotalTaxYTD());\n  }\n}\n<\/taxmanager><\/code><\/pre>\n<p><code>UserGroup<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u062c\u0627\u0645\u0639 \u06c1\u06d2\u06d4 \u06c1\u0645\u0627\u0631\u06d2 \u067e\u0627\u0633 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0641\u06c1\u0631\u0633\u062a \u06c1\u06d2: <code>TaxManager<\/code> \u0631\u06a9\u0646 \u06c1\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u062a\u0645\u0627\u0645 \u0645\u0645\u0628\u0631\u0648\u06ba \u06a9\u0648 \u062a\u0641\u0648\u06cc\u0636 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u062e\u062a\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0648\u062c\u06c1 \u0641\u0631\u0645\u0627\u0626\u06cc\u06ba <code>_members<\/code> \u06cc\u06c1 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u06d2: <code>List<taxmanager\/><\/code>\u0646\u06c1\u06cc\u06ba <code>List<singleuser\/><\/code>. \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2: <code>UserGroup<\/code> \u0627\u0641\u0631\u0627\u062f \u0634\u0627\u0645\u0644 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>SingleUser<\/code> \u067e\u062a\u06d2 \u06cc\u0627 \u062f\u06cc\u06af\u0631 <code>UserGroup<\/code> \u0645\u0631\u06a9\u0628\u0627\u062a \u0641\u06cc\u0645\u0644\u06cc \u06af\u0631\u0648\u067e \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0645\u0645\u0628\u0631\u0627\u0646 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0645\u067e\u0646\u06cc \u06af\u0631\u0648\u067e\u0633 \u0645\u06cc\u06ba \u0641\u06cc\u0645\u0644\u06cc \u06af\u0631\u0648\u067e\u0633 \u0634\u0627\u0645\u0644 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0636\u0631\u0648\u0631\u062a \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u0628\u0691\u06be \u0633\u06a9\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u0628\u06be\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-using-it\">\u0627\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2<\/h3>\n<pre><code class=\"language-dart\">void main() {\n  \n  final seyisTax = SingleUser(100000, List.generate(12, (_) => 20000));\n  final ronkesTax = SingleUser(5000, List.generate(12, (_) => 50000));\n  final inisTax = SingleUser(20000, List.generate(12, (_) => 20000));\n  final tiwasTax = SingleUser(10000, List.generate(12, (_) => 10000));\n\n \n  print('Seyi tax amount: ${seyisTax.getTaxAmount()}');       \n  print('Ronke tax amount: ${ronkesTax.getTaxAmount()}');     \n  print('Seyi discount: ${seyisTax.getTaxDiscount()}');        \n  print('Seyi YTD: ${seyisTax.getTotalTaxYTD()}');            \n\n  \/\/ build a family group\n  final fatunmoles = UserGroup('Fatunmoles');\n  fatunmoles\n    ..add(seyisTax)\n    ..add(ronkesTax)\n    ..add(inisTax)\n    ..add(tiwasTax);\n\n \n  \n  print('Total tax: ${fatunmoles.getTaxAmount()}');      \n  print('Total discount: ${fatunmoles.getTaxDiscount()}'); \n  print('Total YTD: ${fatunmoles.getTotalTaxYTD()}');    \n\n  \/\/ a second family group\n  final child1 = SingleUser(100000, List.generate(12, (_) => 20000));\n  final child2 = SingleUser(100000, List.generate(12, (_) => 20000));\n  final child3 = SingleUser(100000, List.generate(12, (_) => 20000));\n\n  final unknownFamily = UserGroup('UnknownFamily');\n  unknownFamily\n    ..add(child1)\n    ..add(child2)\n    ..add(child3);\n\n\n  print('Tax: ${unknownFamily.getTaxAmount()}');\n  print('Discount: ${unknownFamily.getTaxDiscount()}');\n  print('YTD: ${unknownFamily.getTotalTaxYTD()}');\n}\n<\/code><\/pre>\n<p>\u0648\u06c1\u06cc \u062a\u06cc\u0646 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4 <code>seyisTax<\/code> (1 \u0634\u062e\u0635) <code>fatunmoles<\/code> (4 \u0627\u0641\u0631\u0627\u062f) \u0627\u0648\u0631 <code>unknownFamily<\/code> (3 \u0627\u0641\u0631\u0627\u062f)\u06d4 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u0627 \u06c1\u06d2\u06d4 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06d2 \u06c1\u0631 \u0633\u0637\u062d \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u062a\u0627\u0626\u062c \u062f\u0631\u0633\u062a \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-the-power-of-nested-composites\">\u0646\u06cc\u0633\u0679\u0688 \u06a9\u0645\u067e\u0648\u0632\u0679 \u06a9\u06cc \u0637\u0627\u0642\u062a<\/h2>\n<p>\u062c\u0627\u0645\u0639 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u0633\u0628 \u0633\u06d2 \u0637\u0627\u0642\u062a\u0648\u0631 \u067e\u06c1\u0644\u0648 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0645\u0631\u06a9\u0628\u0627\u062a \u062f\u06cc\u06af\u0631 \u0645\u0631\u06a9\u0628\u0627\u062a \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u0648\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <code>UserGroup<\/code> \u062f\u06cc\u06af\u0631 \u0645\u0648\u0627\u062f \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <code>UserGroup<\/code> \u0627\u0634\u06cc\u0627\u0621 \u06cc\u06c1 \u062a\u0645\u0627\u0645 \u0633\u0637\u062d\u0648\u06ba \u067e\u0631 \u06cc\u06a9\u0633\u0627\u06ba\u060c \u06cc\u06a9\u0633\u0627\u06ba \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u06af\u06c1\u0631\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">void demonstrateNesting() {\n  \n  final seyi = SingleUser(100000, List.generate(12, (_) => 20000));\n  final ronke = SingleUser(5000, List.generate(12, (_) => 50000));\n  final ini = SingleUser(20000, List.generate(12, (_) => 20000));\n  final tiwa = SingleUser(10000, List.generate(12, (_) => 10000));\n\n  final child1 = SingleUser(100000, List.generate(12, (_) => 20000));\n  final child2 = SingleUser(100000, List.generate(12, (_) => 20000));\n  final child3 = SingleUser(100000, List.generate(12, (_) => 20000));\n\n  \/\/ family groups\n  final fatunmoles = UserGroup('Fatunmoles');\n  fatunmoles\n    ..add(seyi)\n    ..add(ronke)\n    ..add(ini)\n    ..add(tiwa);\n\n  final unknownFamily = UserGroup('UnknownFamily');\n  unknownFamily\n    ..add(child1)\n    ..add(child2)\n    ..add(child3);\n\n  \/\/ a composite that contains other composites\n  \/\/ both families treated as one unit\n  final allFamilies = UserGroup('AllFamilies');\n  allFamilies\n    ..add(fatunmoles)    \n    ..add(unknownFamily); \n\n  \/\/ same interface, now covers all 7 people across both families\n  print('All families combined:');\n  print('Total tax: ${allFamilies.getTaxAmount()}');\n  print('Total discount: ${allFamilies.getTaxDiscount()}');\n  print('Total YTD: ${allFamilies.getTotalTaxYTD()}');\n}\n<\/code><\/pre>\n<p><code>allFamilies.getTaxAmount()<\/code>    \u067e\u0648\u0631\u06d2 \u062f\u0631\u062e\u062a \u06a9\u0648 \u0639\u0628\u0648\u0631 \u06a9\u0631\u06cc\u06ba: \u067e\u0648\u0686\u06be\u06cc\u06ba: <code>fatunmoles<\/code> \u0686\u0627\u0631 \u0645\u0645\u0628\u0631\u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06c1\u0631 \u0627\u06cc\u06a9 \u0633\u06d2 \u067e\u0648\u0686\u06be\u06cc\u06ba\u060c <code>unknownFamily<\/code> \u06cc\u06c1 \u062a\u06cc\u0646\u0648\u06ba \u0627\u0631\u0627\u06a9\u06cc\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06c1\u0631 \u0627\u06cc\u06a9 \u0633\u06d2 \u067e\u0648\u0686\u06be\u06d2 \u06af\u0626\u06d2 \u06a9\u0644 \u06c1\u06cc\u06ba\u06d4 7 \u0644\u0648\u06af\u060c 1 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0644\u06d4 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u06cc\u06c1 \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u062a\u0627 \u06a9\u06c1 \u062f\u0631\u062e\u062a \u06a9\u062a\u0646\u0627 \u06af\u06c1\u0631\u0627 \u06c1\u06d2 \u06cc\u0627 \u06a9\u0633\u06cc \u062e\u0627\u0635 \u0633\u0637\u062d \u067e\u0631 \u06a9\u062a\u0646\u06d2 \u0627\u0631\u06a9\u0627\u0646 \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0648\u06c1 \u062c\u06af\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u067e\u06cc\u0679\u0631\u0646 \u0627\u067e\u0646\u06cc \u0633\u0628 \u0633\u06d2 \u0628\u0691\u06cc \u0642\u062f\u0631 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0645\u062d\u06a9\u0645\u0648\u06ba\u060c \u0688\u0648\u06cc\u0698\u0646\u0648\u06ba\u060c \u0679\u06cc\u0645\u0648\u06ba \u0627\u0648\u0631 \u0627\u0641\u0631\u0627\u062f \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u0627\u06cc\u06a9 \u062a\u0646\u0638\u06cc\u0645 \u0628\u0646\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0633\u0628\u06be\u06cc \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u06cc \u0641\u0639\u0627\u0644\u06cc\u062a \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>TaxManager<\/code> \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0627\u0648\u0631 \u06a9\u0627\u0644\u0632 <code>getTaxAmount()<\/code> \u0627\u06af\u0631 \u0622\u067e \u0627\u067e\u0646\u06cc \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u06ba \u06c1\u0631 \u0627\u06cc\u06a9 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u0648\u0679\u0644 \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0627\u06cc\u06a9 \u0645\u062d\u06a9\u0645\u06c1 \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u06cc\u0627 \u0627\u06cc\u06a9 \u0634\u062e\u0635 \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06c1\u0645\u06cc\u0634\u06c1 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-the-composite-pattern-in-c\">C# \u0645\u06cc\u06ba \u0645\u0631\u06a9\u0628 \u067e\u06cc\u0679\u0631\u0646<\/h2>\n<p>C# \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06c1\u06cc \u0646\u0645\u0648\u0646\u06c1 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0639\u0627\u0644\u0645\u06af\u06cc\u0631 \u0633\u0627\u062e\u062a\u06cc \u0627\u0635\u0648\u0644 \u06c1\u06d2\u06d4 \u0630\u06cc\u0644 \u0645\u06cc\u06ba \u06a9\u0627\u0631\u067e\u0648\u0631\u06cc\u0679 \u067e\u06d2 \u0631\u0648\u0644 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06d2 \u0644\u06cc\u06d2 C# \u0645\u06cc\u06ba \u0646\u0642\u0644 \u06a9\u0631\u062f\u06c1 \u0679\u06cc\u06a9\u0633 \u0645\u06cc\u0646\u062c\u0645\u0646\u0679 \u0633\u0633\u0679\u0645 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-component\">\u062c\u0632\u0648<\/h3>\n<pre><code class=\"language-csharp\">public interface ITaxManager\n{\n    decimal GetTaxAmount();\n    decimal GetTaxDiscount();\n    decimal GetTotalTaxYTD();\n}\n<\/code><\/pre>\n<h3 id=\"heading-the-leaf\">\u067e\u062a\u06cc<\/h3>\n<pre><code class=\"language-csharp\">public class Employee : ITaxManager\n{\n    private readonly string _name;\n    private readonly decimal _taxAmount;\n    private readonly List<decimal> _yearlyTaxes;\n\n    public Employee(string name, decimal taxAmount, List<decimal> yearlyTaxes)\n    {\n        _name = name;\n        _taxAmount = taxAmount;\n        _yearlyTaxes = yearlyTaxes;\n    }\n\n    public decimal GetTaxAmount() => _taxAmount;\n\n    public decimal GetTaxDiscount()\n    {\n        return _taxAmount % 2 == 0 ? _taxAmount : _taxAmount \/ 2;\n    }\n\n    public decimal GetTotalTaxYTD()\n    {\n        return _yearlyTaxes.Sum();\n    }\n}\n<\/decimal><\/decimal><\/code><\/pre>\n<h3 id=\"heading-the-composite\">\u067e\u06cc\u0686\u06cc\u062f\u06c1<\/h3>\n<pre><code class=\"language-csharp\">public class Department : ITaxManager\n{\n    private readonly string _name;\n    private readonly List<itaxmanager> _members = new();\n\n    public Department(string name)\n    {\n        _name = name;\n    }\n\n    public void Add(ITaxManager member) => _members.Add(member);\n    public void Remove(ITaxManager member) => _members.Remove(member);\n\n    public decimal GetTaxAmount()\n    {\n        return _members.Sum(m => m.GetTaxAmount());\n    }\n\n    public decimal GetTaxDiscount()\n    {\n        return _members.Sum(m => m.GetTaxDiscount());\n    }\n\n    public decimal GetTotalTaxYTD()\n    {\n        return _members.Sum(m => m.GetTotalTaxYTD());\n    }\n}\n<\/itaxmanager><\/code><\/pre>\n<h3 id=\"heading-using-it-in-c\">\u0627\u0633\u06d2 C# \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627<\/h3>\n<pre><code class=\"language-csharp\">\nvar alice = new Employee(\"Alice\", 150000, Enumerable.Repeat(25000m, 12).ToList());\n\nvar bob = new Employee(\"Bob\", 80000, Enumerable.Repeat(15000m, 12).ToList());\n\nvar carol = new Employee(\"Carol\", 120000, Enumerable.Repeat(20000m, 12).ToList());\n\nvar dave = new Employee(\"Dave\", 95000, Enumerable.Repeat(18000m, 12).ToList());\n\n\nvar engineering = new Department(\"Engineering\");\nengineering.Add(alice);\nengineering.Add(bob);\n\n\nvar design = new Department(\"Design\");\ndesign.Add(carol);\ndesign.Add(dave);\n\n\nvar company = new Department(\"TechCorp\");\ncompany.Add(engineering);\ncompany.Add(design);\n\n\nConsole.WriteLine($\"Alice tax: {alice.GetTaxAmount()}\");\nConsole.WriteLine($\"Engineering total: {engineering.GetTaxAmount()}\");\n\n\/\/ entire company \u2014 traverses all departments and all employees\nConsole.WriteLine($\"Company total tax: {company.GetTaxAmount()}\");\nConsole.WriteLine($\"Company total discount: {company.GetTaxDiscount()}\");\nConsole.WriteLine($\"Company YTD: {company.GetTotalTaxYTD()}\");\n<\/code><\/pre>\n<p>\u0688\u06be\u0627\u0646\u0686\u06c1 \u0688\u0627\u0631\u0679 \u06a9\u06d2 \u0646\u0641\u0627\u0630 \u0633\u06d2 \u0645\u0645\u0627\u062b\u0644 \u06c1\u06d2\u06d4 <code>ITaxManager<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u062c\u0632\u0648 \u06c1\u06d2\u06d4 <code>Employee<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u067e\u062a\u06cc \u06c1\u06d2\u060c <code>Department<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u062c\u0627\u0645\u0639 \u06c1\u06d2\u06d4 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u06c1\u06d2: <code>Department<\/code> \u06a9\u06cc <code>Departments<\/code> \u0627\u06cc\u06a9 \u06a9\u0645\u067e\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u062f\u0631\u062e\u062a \u06a9\u06d2 \u06c1\u0631 \u0646\u0648\u0688 \u067e\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc \u062a\u06cc\u0646 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0635\u062d\u06cc\u062d \u0645\u062c\u0645\u0648\u0639\u06cc \u0646\u062a\u06cc\u062c\u06c1 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0648\u06c1\u06cc \u0646\u0645\u0648\u0646\u06c1 \u06c1\u06d2 \u062c\u0648 \u062f\u0648\u0633\u0631\u06cc \u0632\u0628\u0627\u0646 \u0645\u06cc\u06ba \u0627\u0633\u06cc \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0627\u062e\u062a\u06cc \u0627\u0635\u0648\u0644 \u0639\u0627\u0644\u0645\u06af\u06cc\u0631 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-when-to-use-the-composite-pattern\">\u067e\u06cc\u0686\u06cc\u062f\u06c1 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0628 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u062c\u0627\u0645\u0639 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0628 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u062c\u0632\u0648\u06cc \u0645\u06a9\u0645\u0644 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06c1\u0648 \u062c\u06c1\u0627\u06ba \u062f\u0648\u0646\u0648\u06ba \u062d\u0635\u0648\u06ba \u0627\u0648\u0631 \u067e\u0648\u0631\u06d2 \u062d\u0635\u0648\u06ba \u06a9\u0648 \u06cc\u06a9\u0633\u0627\u06ba \u0633\u0644\u0648\u06a9 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0628\u06be\u06cc \u0627\u06cc\u06a9 \u0627\u0686\u06be\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06c1\u06d2 \u062c\u0628 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u06a9\u0648 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0627\u0648\u0631 \u06af\u0631\u0648\u067e\u0648\u06ba \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0641\u0631\u0642 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06cc\u06c1 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u062b\u0631\u062a \u0633\u06d2 \u0645\u0634\u0631\u0648\u0637 \u0644\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u06a9\u0648\u0626\u06cc \u0634\u06d2 \u0627\u06cc\u06a9 \u06af\u0631\u0648\u067e \u06c1\u06d2 \u06cc\u0627 \u0627\u06cc\u06a9\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u0639\u0644\u0627\u0645\u062a \u06c1\u06d2 \u06a9\u06c1 Composite \u0627\u0633 \u0634\u0627\u062e \u06a9\u0648 \u06c1\u0679\u0627 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u0633 \u0648\u0642\u062a \u0645\u0641\u06cc\u062f \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0648 \u0644\u0686\u06a9\u062f\u0627\u0631 \u0627\u0648\u0631 \u06af\u06c1\u0631\u0627\u0626\u06cc \u0633\u06d2 \u0645\u0633\u062a\u062d\u06a9\u0645 \u06c1\u0648\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06d4 \u0641\u0627\u0626\u0644 \u0633\u0633\u0679\u0645\u0632\u060c \u062a\u0646\u0638\u06cc\u0645\u06cc \u0686\u0627\u0631\u0679\u0633\u060c UI \u0627\u062c\u0632\u0627\u0621 \u06a9\u06d2 \u062f\u0631\u062e\u062a\u060c \u0632\u0645\u0631\u06c1 \u06a9\u06d2 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc\u060c \u0679\u06cc\u06a9\u0633 \u06a9\u06d2 \u0646\u0638\u0627\u0645\u060c \u06cc\u0627 \u0628\u0646\u0688\u0644\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0627\u067e\u0646\u06af \u06a9\u0627\u0631\u0679\u0633: \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0688\u0648\u0645\u06cc\u0646 \u062c\u06c1\u0627\u06ba \u06a9\u0646\u0679\u06cc\u0646\u0631\u0632 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u0646\u0679\u06cc\u0646\u0631\u0632 \u06a9\u0648 \u0631\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u0645\u067e\u0648\u0632\u0679 \u0633\u06d2 \u0641\u0627\u0626\u062f\u06c1 \u0627\u0679\u06be\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0648\u0631 \u06cc\u06c1 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0646\u0626\u06cc \u200b\u200b\u0642\u0633\u0645 \u06a9\u06d2 \u067e\u062a\u06d2 \u06cc\u0627 \u0645\u0631\u06a9\u0628\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u0645\u0641\u06cc\u062f \u06c1\u0648\u06af\u0627\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u06c1\u0631 \u0686\u06cc\u0632 \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u062c\u0632\u0627\u0621 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u0646\u0626\u06cc \u0642\u0633\u0645 \u06a9\u06cc \u067e\u062a\u06cc (a <code>CorporateTaxpayer<\/code> \u067e\u06c1\u0644\u0648 \u0628\u06c1 \u067e\u06c1\u0644\u0648 <code>SingleUser<\/code>) \u06cc\u0627 \u0627\u06cc\u06a9 \u0646\u0626\u06cc \u0642\u0633\u0645 \u06a9\u0627 \u0645\u0631\u06a9\u0628 (a <code>TaxBracketGroup<\/code>) \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0627\u06cc\u06a9 \u0646\u0626\u06cc \u06a9\u0644\u0627\u0633 \u0628\u0646\u0627\u0646\u0627\u06d4 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u0627\u0648\u0631 \u062a\u0645\u0627\u0645 \u0645\u0648\u062c\u0648\u062f\u06c1 \u06a9\u0644\u0627\u0633\u0632 \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0626\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-when-not-to-use-it\">\u06a9\u0628 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u062c\u0627\u0645\u0639 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0622\u067e \u06a9\u0627 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0622\u0633\u0627\u0646 \u0627\u0648\u0631 \u0627\u0648\u0648\u0631\u0644\u06cc\u067e \u06c1\u0648\u0646\u06d2 \u06a9\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0646\u06c1 \u06c1\u0648\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0622\u0626\u0679\u0645\u0632 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06af\u06be\u0648\u06ba\u0633\u0644\u0627 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u06af\u0631\u0648\u067e \u0628\u0646\u062f\u06cc \u06a9\u06cc \u0628\u0627\u0644\u06a9\u0644 \u0627\u06cc\u06a9 \u0633\u0637\u062d \u06c1\u06d2\u060c \u062a\u0648 \u067e\u06cc\u0679\u0631\u0646 \u062a\u062c\u0631\u06cc\u062f \u06a9\u0627 \u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0627\u06cc\u06a9 \u0622\u0633\u0627\u0646 \u0627\u067e\u0631\u0648\u0686 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0627\u0648\u0631 \u06af\u0631\u0648\u06c1\u0648\u06ba \u06a9\u0648 \u0648\u0627\u0642\u0639\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648 \u062a\u0648 \u06cc\u06c1 \u0628\u06be\u06cc \u0627\u0686\u06be\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u06af\u0631\u0648\u067e\u0648\u06ba \u06a9\u0648 \u0628\u06c1\u062a \u0633\u06d2 \u0627\u0636\u0627\u0641\u06cc \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u062c\u0646 \u06a9\u06cc \u0627\u0641\u0631\u0627\u062f \u06a9\u0648 \u0628\u0627\u0644\u06a9\u0644 \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0646\u06c1\u06cc\u06ba \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u067e\u0631 \u0645\u062c\u0628\u0648\u0631 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0628\u06c1\u062a \u0648\u0633\u06cc\u0639 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0639\u0644\u06cc\u062d\u062f\u06af\u06cc \u06a9\u06d2 \u0627\u0635\u0648\u0644 \u06a9\u06cc \u062e\u0644\u0627\u0641 \u0648\u0631\u0632\u06cc \u06c1\u0648 \u06af\u06cc\u06d4<\/p>\n<p>\u0627\u0633 \u0633\u06d2 \u0628\u0686\u06cc\u06ba \u0627\u06af\u0631 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u0627\u06c1\u0645 \u06c1\u06d2 \u0627\u0648\u0631 \u0628\u0627\u0631 \u0628\u0627\u0631 \u0622\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0679\u0631\u0627\u0648\u0631\u0633\u0644 \u06a9\u0627 \u0627\u0648\u0648\u0631 \u06c1\u06cc\u0688 \u0627\u06c1\u0645 \u06c1\u06d2\u06d4 \u0644\u0627\u06a9\u06be\u0648\u06ba \u0628\u0627\u0631 \u0628\u0627\u0631 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0646\u0648\u0688\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06af\u06c1\u0631\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u0646\u0642\u0637\u06c1 \u0646\u0638\u0631 \u0633\u06d2 \u0641\u0627\u0626\u062f\u06c1 \u0627\u0679\u06be\u0627 \u0633\u06a9\u062a\u06cc \u06c1\u06d2: \u0645\u062c\u0645\u0648\u0639\u06cc \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u06a9\u06cc\u0634 \u06a9\u0631\u0646\u0627\u06d4<\/p>\n<h2 id=\"heading-conclusion\">\u0646\u062a\u06cc\u062c\u06c1<\/h2>\n<p>\u062c\u0627\u0645\u0639 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0646\u0645\u0648\u0646\u06d2 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06d2 \u0646\u0638\u0627\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0646\u06cc\u0627\u062f\u06cc \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u06cc\u06ba \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0627\u0648\u0631 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06d2 \u06af\u0631\u0648\u067e\u0633 \u062f\u0648\u0646\u0648\u06ba \u067e\u0631 \u062f\u0648 \u0627\u0644\u06af \u0627\u0644\u06af \u0646\u0641\u0627\u0630 \u0644\u06a9\u06be\u06d2 \u06cc\u0627 \u0679\u0627\u0626\u067e \u0686\u06cc\u06a9\u0646\u06af \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688 \u06a9\u0648 \u0628\u06d2 \u062a\u0631\u062a\u06cc\u0628\u06cc \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc \u06a9\u0627\u0645 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u0648\u06ba\u061f<\/p>\n<p>\u062c\u0648\u0627\u0628 \u0627\u06cc\u06a9 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06c1\u06d2\u06d4 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u0627\u0634\u06cc\u0627\u0621 \u0627\u06cc\u06a9 \u06c1\u06cc \u0645\u0639\u0627\u06c1\u062f\u06d2 \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u062f\u0627\u0631\u06d2 \u0627\u0633\u06d2 \u0627\u067e\u0646\u06d2 \u0688\u06cc\u0679\u0627 \u0633\u06d2 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06af\u0631\u0648\u067e \u0627\u067e\u0646\u06d2 \u0628\u0686\u0648\u06ba \u06a9\u0648 \u062a\u0641\u0648\u06cc\u0636 \u06a9\u0631\u06a9\u06d2 \u0627\u0648\u0631 \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u06a9\u06d2 \u0627\u0633 \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u0627\u0633\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u0633\u06d2 \u0642\u0637\u0639 \u0646\u0638\u0631 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u0633\u06cc \u067e\u062a\u06cc \u0633\u06d2 \u0628\u0627\u062a \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2 \u06cc\u0627 \u06af\u06be\u0648\u06ba\u0633\u0644\u0627 \u06a9\u06cc 100 \u0633\u0637\u062d\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062c\u0627\u0645\u0639 \u062c\u0648\u0627\u0628 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062e\u0631\u06cc\u062f\u0627\u0631\u06cc \u06a9\u06cc \u0679\u0648\u06a9\u0631\u06cc \u06a9\u06cc \u0645\u062b\u0627\u0644 \u0642\u06cc\u0645\u062a\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u062c \u0630\u06cc\u0644 \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2: <code>getPrice()<\/code> \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u062c\u0648 \u0627\u06cc\u06a9 \u06c1\u06cc \u0634\u06d2 \u06cc\u0627 \u062f\u0648\u0633\u0631\u06d2 \u0628\u0646\u0688\u0644 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u0628\u0646\u0688\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06cc\u06a9\u0633\u0627\u06ba \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0679\u06cc\u06a9\u0633 \u0645\u06cc\u0646\u062c\u0645\u0646\u0679 \u06a9\u06cc \u0645\u062b\u0627\u0644 \u0645\u062a\u0639\u062f\u062f \u06a9\u0627\u0645\u0648\u06ba \u0648\u0627\u0644\u06d2 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u062c \u0630\u06cc\u0644 \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2: <code>getTaxAmount()<\/code>, <code>getTaxDiscount()<\/code>\u0627\u0648\u0631 <code>getTotalTaxYTD()<\/code> \u0627\u06cc\u06a9 \u06c1\u06cc \u0679\u06cc\u06a9\u0633 \u062f\u06c1\u0646\u062f\u06c1\u060c \u0641\u06cc\u0645\u0644\u06cc \u06af\u0631\u0648\u067e\u060c \u06cc\u0627 \u0641\u06cc\u0645\u0644\u06cc \u06af\u0631\u0648\u067e\u0633 \u06a9\u06d2 \u0645\u062c\u0645\u0648\u0639\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06be\u06cc \u06cc\u06c1\u06cc \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u06cc\u0633\u0679\u0688 \u06a9\u0645\u067e\u0648\u0632\u0679 \u0688\u06cc\u0645\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>UserGroup<\/code> \u062f\u0648\u0633\u0631\u06cc \u0686\u06cc\u0632\u0648\u06ba \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 <code>UserGroups<\/code>\u06c1\u0631 \u0627\u06cc\u06a9 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba: <code>SingleUsers<\/code>\u0648\u06c1 \u0633\u0628 \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u0627 \u062c\u0648\u0627\u0628 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u062a\u0645\u0627\u0645 \u0633\u0637\u062d\u0648\u06ba \u067e\u0631 \u062f\u0631\u0633\u062a \u0645\u062c\u0645\u0648\u0639\u06cc \u0646\u062a\u0627\u0626\u062c \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 7 \u0644\u0648\u06af\u060c 1 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0644\u06d4 \u062f\u0631\u062e\u062a \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u06af\u0632\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>C# \u06a9\u0627\u0631\u067e\u0648\u0631\u06cc\u0679 \u067e\u06d2 \u0631\u0648\u0644 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0645\u06cc\u06ba \u0627\u0646\u06c1\u06cc \u0627\u0635\u0648\u0644\u0648\u06ba \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u0644\u0627\u0632\u0645\u06cc\u0646 \u0645\u0644\u0627\u0632\u0645\u06cc\u0646 \u0633\u06d2 \u0628\u0646\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0645\u062d\u06a9\u0645\u06d2 \u0645\u0631\u06a9\u0628\u0627\u062a \u0633\u06d2 \u0628\u0646\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u06a9\u0645\u067e\u0646\u06cc\u0627\u06ba \u0645\u062d\u06a9\u0645\u0648\u06ba \u0633\u06d2 \u0628\u0646\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633\u060c \u062a\u0645\u0627\u0645 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06cc \u0633\u0637\u062d\u06cc\u06ba\u06d4 \u06c1\u0631 \u0628\u0627\u0631 \u0635\u062d\u06cc\u062d \u0646\u062a\u0627\u0626\u062c \u062d\u0627\u0635\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u062c\u0627\u0645\u0639 \u067e\u06cc\u0679\u0631\u0646 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u06a9\u0648 \u062e\u062a\u0645 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 \u06af\u06c1\u0631\u06d2 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0645\u06cc\u06ba \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u062c\u0627\u0645\u0639 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u06c1\u06d2\u06d4 <code>fold<\/code> \u06cc\u06c1 \u067e\u0648\u0631\u06d2 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u062a\u0642\u0633\u06cc\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u0635\u0627\u0641 \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0644\u0686\u06a9\u062f\u0627\u0631 \u0631\u06c1\u062a\u06cc \u06c1\u06d2\u06d4 \u0622\u067e \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u0648\u062c\u0648\u062f \u0686\u06cc\u0632\u0648\u06ba \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0646\u0626\u06cc \u0627\u0642\u0633\u0627\u0645 \u0634\u0627\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0633\u0627\u062e\u062a\u06cc \u0646\u0638\u0645 \u0648 \u0636\u0628\u0637 \u06c1\u06d2 \u062c\u0648 \u062c\u0627\u0645\u0639 \u0646\u0645\u0648\u0646\u06d2 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0645\u0628\u0627\u0631\u06a9 \u06a9\u0648\u0688\u0646\u06af!<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0633\u0627\u062e\u062a\u06cc \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0646\u0645\u0648\u0646\u06d2 \u0627\u0633 \u0628\u0627\u062a \u0633\u06d2 \u0646\u0645\u0679\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0633\u0627\u062e\u062a \u0627\u0648\u0631 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06cc\u0633\u06d2 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0646\u0645\u0648\u0646\u06c1 \u062c\u0648 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06d2 \u0645\u0646\u0638\u0631\u0646\u0627\u0645\u0648\u06ba \u06a9\u0648 \u0645\u0646\u0638\u0645 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0627\u0645\u0639 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06c1\u06d2\u06d4 \u062a\u0648 \u06cc\u06c1 \u067e\u06cc\u0679\u0631\u0646 \u0627\u0635\u0644 \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u061f \u0645\u06cc\u06ba [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","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":"","ast-disable-related-posts":"","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":"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":"","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-4)","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-4)","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-4)","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":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-29140","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/29140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/comments?post=29140"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/29140\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=29140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=29140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=29140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}