{"id":28713,"date":"2026-09-03T01:15:42","date_gmt":"2026-09-03T01:15:42","guid":{"rendered":"https:\/\/umang.pk\/2026\/09\/03\/%d8%a8%d9%84%da%88%d8%b1-%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%d9%be%db%8c%d9%b9%d8%b1%d9%86-%d9%be%db%8c%da%86%db%8c%d8%af%db%81-%d8%a7%d8%b4%db%8c%d8%a7%d8%a1-%da%a9%db%8c-%d8%aa%d8%b9%d9%85%db%8c\/"},"modified":"2026-09-03T01:15:42","modified_gmt":"2026-09-03T01:15:42","slug":"%d8%a8%d9%84%da%88%d8%b1-%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%d9%be%db%8c%d9%b9%d8%b1%d9%86-%d9%be%db%8c%da%86%db%8c%d8%af%db%81-%d8%a7%d8%b4%db%8c%d8%a7%d8%a1-%da%a9%db%8c-%d8%aa%d8%b9%d9%85%db%8c","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/09\/03\/%d8%a8%d9%84%da%88%d8%b1-%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%d9%be%db%8c%d9%b9%d8%b1%d9%86-%d9%be%db%8c%da%86%db%8c%d8%af%db%81-%d8%a7%d8%b4%db%8c%d8%a7%d8%a1-%da%a9%db%8c-%d8%aa%d8%b9%d9%85%db%8c\/","title":{"rendered":"\u0628\u0644\u0688\u0631 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646: \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0627 \u0627\u06cc\u06a9 \u0628\u06c1\u062a\u0631 \u0637\u0631\u06cc\u0642\u06c1"},"content":{"rendered":"\n<div id=\"\">\n<p>\u06a9\u0686\u06be \u0627\u0634\u06cc\u0627\u0621 \u0633\u0627\u062f\u06c1 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u062c\u06cc\u0633\u06d2 \u062a\u0627\u0631\u060c \u0646\u0645\u0628\u0631\u060c \u06cc\u0627 \u0628\u0648\u0644\u06cc\u0646\u06d4 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0622\u06af\u06d2 \u0628\u0691\u06be\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u06cc\u06af\u0631 \u0627\u0634\u06cc\u0627\u0621 \u062c\u06cc\u0633\u06d2 \u06a9\u06cc\u0631\u0648\u0633\u0644 \u0648\u06cc\u062c\u06cc\u0679\u0633 \u062c\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u0626\u0679\u0645\u0632 \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f\u060c \u0622\u0626\u0679\u0645 \u0628\u0644\u0688\u0631 \u0641\u0646\u06a9\u0634\u0646\u0632\u060c \u06a9\u0646\u0679\u0631\u0648\u0644\u0631\u0632\u060c \u06c1\u0627\u0626\u0679\u0633\u060c \u0648\u06cc\u0648 \u067e\u0648\u0631\u0679 \u0631\u06cc\u0634\u0648\u0632\u060c \u0622\u0679\u0648 \u067e\u0644\u06d2 \u0633\u06cc\u0679\u0646\u06af\u0632\u060c \u067e\u06cc\u062c \u0686\u06cc\u0646\u062c \u06a9\u0627\u0644 \u0628\u06cc\u06a9\u0633 \u0627\u0648\u0631 \u0644\u0627\u0645\u062d\u062f\u0648\u062f \u0627\u0633\u06a9\u0631\u0648\u0644 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0628\u0627\u0644\u06a9\u0644 \u0628\u06be\u06cc \u0622\u0633\u0627\u0646 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u0627 \u0627\u06cc\u06a9 HTTP \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u0637\u0631\u062d \u062c\u0633 \u0645\u06cc\u06ba URL\u060c \u06c1\u06cc\u0688\u0631\u0632\u060c \u062a\u0635\u062f\u06cc\u0642\u06cc \u0679\u0648\u06a9\u0646\u060c \u0628\u0627\u0688\u06cc\u060c \u0679\u0627\u0626\u0645 \u0622\u0624\u0679\u060c \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u0648\u0634\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0645\u0646\u0637\u0642 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u0627 \u0627\u06cc\u0633\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062c\u0646 \u0645\u06cc\u06ba \u0639\u0646\u0648\u0627\u0646\u060c \u0628\u0627\u0688\u06cc\u060c \u0622\u0626\u06cc\u06a9\u0646\u060c \u0686\u06cc\u0646\u0644\u060c \u062a\u0631\u062c\u06cc\u062d\u060c \u0622\u0648\u0627\u0632\u060c \u0648\u0627\u0626\u0628\u0631\u06cc\u0634\u0646 \u0627\u0648\u0631 \u0627\u06cc\u06a9\u0634\u0646 \u0628\u0679\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06cc \u06a9\u0648\u0626\u06cc \u0686\u06cc\u0632 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062a\u0648\u060c \u0627\u06cc\u06a9 \u0622\u0633\u0627\u0646 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0628\u06c1\u062a \u0633\u06d2 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u06cc\u06c1 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u062c\u06cc\u0633\u06d2 \u062c\u06cc\u0633\u06d2 \u0627\u0634\u06cc\u0627\u0621 \u0632\u06cc\u0627\u062f\u06c1 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u06c1\u0648\u062a\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0645\u0633\u0626\u0644\u06c1 \u0632\u06cc\u0627\u062f\u06c1 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u06c1\u0648\u062a\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u0645\u06cc\u06ba \u0641\u0631\u0642 \u06a9\u0631\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06a9\u0648 \u06c1\u0631 \u062c\u06af\u06c1 null \u0686\u06cc\u06a9\u0646\u06af \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u062f\u0644\u0627\u0626\u0644 \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628 \u0627\u06c1\u0645 \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u0633\u0627\u0646\u06cc \u0633\u06d2 \u063a\u0644\u0637 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06a9\u0627\u0644\u0632 \u0627\u0642\u062f\u0627\u0631 \u06a9\u06cc \u062f\u06cc\u0648\u0627\u0631 \u0628\u0646 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u067e\u0691\u06be\u0646\u0627 \u06cc\u0627 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u0627 \u0646\u06c1\u06cc\u06ba \u0686\u0627\u06c1\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u0644\u0688\u0631 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u0627\u0633 \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u0633\u0627\u062e\u062a \u0627\u0648\u0631 \u0646\u0645\u0627\u0626\u0646\u062f\u06af\u06cc \u06a9\u0648 \u0627\u0644\u06af \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u06c1\u06cc \u0633\u0627\u062e\u062a \u06a9\u06d2 \u0639\u0645\u0644 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u0645\u06cc\u06ba \u0622\u0633\u0627\u0646\u060c \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u062e\u062a\u0644\u0641 \u0642\u0633\u0645 \u06a9\u06cc \u06a9\u0645\u067e\u0648\u0632\u06cc\u0634\u0646 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0637\u06cc\u06ba<\/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 \u0627\u0648\u0631\u06cc\u0646\u0679\u0688 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af: \u06a9\u0644\u0627\u0633\u0632\u060c \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631\u0632\u060c \u0627\u0648\u0631 \u0637\u0631\u06cc\u0642\u06d2<\/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>\u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \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 \u067e\u06c1\u0644\u06d2 \u0627\u0635\u0648\u0644\u0648\u06ba \u0633\u06d2 \u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0648 \u0645\u062a\u0639\u0627\u0631\u0641 \u06a9\u0631\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-is-the-builder-pattern\">\u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/h2>\n<p>\u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u0627\u06cc\u06a9 \u062a\u062e\u0644\u06cc\u0642\u06cc \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06c1\u06d2\u06d4 \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\u0633\u06d2 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642 \u06c1\u06d2 \u062c\u0648 \u0628\u06c1\u062a \u0633\u06d2 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0645\u0631\u0627\u062d\u0644 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2.<\/p>\n<p>\u067e\u06cc\u0679\u0631\u0646 \u062f\u0648 \u062e\u062f\u0634\u0627\u062a \u06a9\u0648 \u0627\u0644\u06af \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u06a9\u062b\u0631 \u0633\u0627\u062f\u06c1 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u062c\u0691\u06d2 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba: \u06a9\u0648\u0626\u06cc \u0686\u06cc\u0632 \u06a9\u06cc\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u0627 \u0627\u067e\u0646\u0627 \u0688\u06cc\u0679\u0627 \u0627\u0648\u0631 \u0631\u0648\u06cc\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0644\u0688\u0631 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0645\u0646\u0637\u0642 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062d\u062a\u0645\u06cc \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0628\u0646\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u062a\u06cc\u062c\u06c1 \u0627\u06cc\u06a9 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0639\u0645\u0644 \u06c1\u06d2 \u062c\u0648 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0646\u0646\u062f\u06c1 \u06a9\u0648 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u0626\u06d2 \u0627\u0642\u062f\u0627\u0631 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06cc \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0634\u06d2 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644 \u06a9\u06cc \u0637\u0631\u062d \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-the-problem-it-solves\">\u0645\u0633\u0626\u0644\u06c1 \u06cc\u06c1 \u062d\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2<\/h2>\n<p>\u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u06cc\u06a9 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0648\u06cc\u062c\u06cc\u0679 \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-csharp\">\/\/ constructing a carousel directly \u2014 hard to read, easy to get wrong\nCarouselSlider.builder(\n  options: CarouselOptions(\n    height: 200,\n    viewportFraction: 0.97,\n    enableInfiniteScroll: false,\n    autoPlayCurve: Curves.easeIn,\n    enlargeCenterPage: true,\n    pauseAutoPlayOnManualNavigate: true,\n    onPageChanged: onPageChanged,\n    autoPlay: false,\n  ),\n  itemBuilder: (context, index, realIndex) => AdCard(ad: ads[index]),\n  itemCount: ads.length,\n)\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0644\u06cc\u06a9\u0646 \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646 \u067e\u0631 \u062f\u0648 \u0645\u062e\u062a\u0644\u0641 carousel \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2: \u0627\u06cc\u06a9 \u0627\u0634\u062a\u06c1\u0627\u0631\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0648\u0631 \u062f\u0648\u0633\u0631\u0627 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u06cc\u0644\u0646\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0645\u062e\u062a\u0644\u0641 \u0627\u0648\u0646\u0686\u0627\u0626\u06cc\u0648\u06ba\u060c \u0648\u06cc\u0648 \u067e\u0648\u0631\u0679 \u06a9\u06d2 \u062a\u0646\u0627\u0633\u0628\u060c \u0622\u0626\u0679\u0645 \u0628\u0644\u0688\u0631\u0632\u060c \u0627\u0648\u0631 \u0622\u0626\u0679\u0645 \u0634\u0645\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u067e\u0648\u0631\u06d2 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0628\u0644\u0627\u06a9 \u06a9\u0648 \u06a9\u0627\u067e\u06cc \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0642\u062f\u0627\u0631 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0628 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u062f\u0648 \u0628\u0635\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0645\u0644\u062a\u06d2 \u062c\u0644\u062a\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0628\u0627\u0644\u06a9\u0644 \u0645\u062e\u062a\u0644\u0641 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u062f\u06cc\u0648\u0627\u0631\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u0627\u0634\u062a\u06be\u0627\u0631\u0627\u062a\u06cc \u06a9\u06cc\u0631\u0648\u0633\u0644 \u0645\u06cc\u06ba \u0622\u0679\u0648 \u067e\u0644\u06d2 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0646\u0626\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u0644\u06cc\u06a9\u0646 \u0628\u06cc\u0644\u0646\u0633 \u06a9\u06cc\u0631\u0648\u0633\u0644 \u0646\u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u0635\u062d\u06cc\u062d \u0628\u0644\u0627\u06a9 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06ba \u06af\u06d2\u060c \u0627\u0633\u06d2 \u0627\u062d\u062a\u06cc\u0627\u0637 \u0633\u06d2 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0635\u062d\u06cc\u062d \u0628\u0644\u0627\u06a9 \u06a9\u0648 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u06af\u06c1\u0631\u0627 \u0645\u0633\u0626\u0644\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0645\u0646\u0637\u0642 \u067e\u0648\u0631\u06d2 \u06a9\u0648\u0688 \u0628\u06cc\u0633 \u0645\u06cc\u06ba \u067e\u06be\u06cc\u0644\u06cc \u06c1\u0648\u0626\u06cc \u06c1\u06d2\u06d4 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u062c\u06af\u06c1 \u062c\u06c1\u0627\u06ba carousel \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 carousel \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628 \u06a9\u06cc \u062a\u0645\u0627\u0645 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u062c\u0627\u0646\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u0633\u06cc \u06a9\u0648\u0626\u06cc \u062c\u06af\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0648\u06c1 \u0639\u0644\u0645 \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06d2 \u0639\u0644\u0645 \u06a9\u0648 \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u062c\u0645\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0635\u0627\u0641 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-core-components\">\u0628\u0646\u06cc\u0627\u062f\u06cc \u0627\u062c\u0632\u0627\u0621<\/h2>\n<p>\u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u06d2 \u062a\u06cc\u0646 \u0627\u062c\u0632\u0627\u0621 \u06c1\u06cc\u06ba:<\/p>\n<h3 id=\"heading-the-product\">\u0645\u0635\u0646\u0648\u0639\u0627\u062a<\/h3>\n<p>\u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0627\u0634\u06cc\u0627\u0621 \u067e\u06cc\u062f\u0627 \u06c1\u0648 \u0631\u06c1\u06cc \u06c1\u06cc\u06ba\u06d4 \u0645\u06cc\u06ba \u0628\u0644\u0688\u0631 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u062a\u0627\u06d4 \u06cc\u06c1 \u0627\u067e\u0646\u06cc \u062a\u0631\u062a\u06cc\u0628 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u0631\u0648\u0688\u06a9\u0679\u0633 \u0627\u06a9\u062b\u0631 \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u0646\u0627\u0626\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0648\u06c1 \u0635\u0631\u0641 \u0627\u0633\u06cc \u0628\u0644\u0688\u0631 \u0633\u06d2 \u0628\u0646\u0627\u0626\u06d2 \u062c\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-the-builder\">\u0628\u0644\u0688\u0631<\/h3>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u0637\u0628\u0642\u06c1 \u06c1\u06d2 \u062c\u0648 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0644\u0688\u0631 \u0645\u06cc\u06ba \u06c1\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u06d2 \u0627\u06cc\u06a9 \u067e\u06c1\u0644\u0648 \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062e\u0648\u062f \u0628\u0644\u0688\u0631 \u06a9\u0648 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0648\u0627\u067e\u0633\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u06cc \u0632\u0646\u062c\u06cc\u0631 \u06a9\u0648 \u0642\u0627\u0628\u0644 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0644\u0688\u0631 \u06a9\u0627 \u062d\u062a\u0645\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u062a\u06cc\u0627\u0631 \u0634\u062f\u06c1 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-director-optional\">\u0646\u06af\u0631\u0627\u0646\u06cc (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<\/h3>\n<p>\u0627\u06cc\u06a9 \u0637\u0628\u0642\u06c1 \u062c\u0648 \u062c\u0627\u0646\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0644\u0688\u0631 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u062a\u0634\u06a9\u06cc\u0644 \u0634\u062f\u06c1 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u06cc\u0633\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4 \u0688\u0627\u0626\u0631\u06cc\u06a9\u0679\u0631 \u0627\u0633 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0639\u0644\u0645 \u06a9\u0648 \u0627\u0646\u06a9\u0648\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0633 \u0637\u0631\u062d \u0627\u06cc\u06a9 \u0639\u0627\u0645 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0628\u0646\u0627\u0626\u06cc \u062c\u0627\u0626\u06d2 \u062a\u0627\u06a9\u06c1 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0648 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1 \u067e\u0691\u06d2\u06d4 \u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631\u060c \u0641\u06cc\u06a9\u0679\u0631\u06cc \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u0627\u06a9\u062b\u0631 \u0627\u0633 \u06a9\u0631\u062f\u0627\u0631 \u06a9\u0648 \u067e\u0648\u0631\u0627 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-method-chaining-the-fluent-interface\">\u0637\u0631\u06cc\u0642\u06c1 \u0632\u0646\u062c\u06cc\u0631: \u0631\u0648\u0627\u0646\u06cc \u0627\u0646\u0679\u0631\u0641\u06cc\u0633<\/h2>\n<p>\u0645\u06cc\u062a\u06be\u0688 \u0686\u06cc\u0646\u0646\u06af \u0627\u06cc\u06a9 \u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc \u06c1\u06d2 \u062c\u0648 \u0628\u0644\u0688\u0631 \u06a9\u0648\u0688 \u06a9\u0648 \u0642\u062f\u0631\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u067e\u0691\u06be\u062a\u06cc \u06c1\u06d2\u06d4 \u06c1\u0631 \u0628\u0644\u0688\u0631 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u0648\u0627\u067e\u0633 \u0622\u062a\u0627 \u06c1\u06d2: <code>this<\/code> (\u062e\u0648\u062f \u0628\u0644\u0688\u0631) \u0627\u06af\u0644\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0644 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u0627 \u062a\u0648 \u0627\u0633\u06cc \u0644\u0627\u0626\u0646 \u067e\u0631 \u06cc\u0627 \u0627\u06af\u0644\u06cc \u0644\u0627\u0626\u0646 \u067e\u0631\u06d4<\/p>\n<pre><code class=\"language-csharp\">\/\/ without method chaining\nfinal builder = RequestBuilder();\nbuilder.setUrl('https:\/\/api.example.com\/users');\nbuilder.setMethod('POST');\nbuilder.addHeader('Authorization', 'Bearer $token');\nbuilder.setBody({'name': 'John'});\nfinal request = builder.build();\n\n\/\/ with method chaining\nfinal request = RequestBuilder()\n    .setUrl('https:\/\/api.example.com\/users')\n    .setMethod('POST')\n    .addHeader('Authorization', 'Bearer $token')\n    .setBody({'name': 'John'})\n    .build();\n<\/code><\/pre>\n<p>\u062f\u0648\u0646\u0648\u06ba \u0628\u0627\u0644\u06a9\u0644 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u06d2 \u0646\u062a\u0627\u0626\u062c \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u0646\u0633\u0644\u06a9 \u0648\u0631\u0698\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u062c\u0645\u0644\u06d2 \u06a9\u06cc \u0637\u0631\u062d \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u063a\u06cc\u0631 \u0645\u0631\u0628\u0648\u0637 \u0648\u0631\u0698\u0646 \u0628\u06cc\u0627\u0646\u0627\u062a \u06a9\u0627 \u0627\u06cc\u06a9 \u0633\u0644\u0633\u0644\u06c1 \u06c1\u06d2\u06d4<\/p>\n<p>\u0637\u0631\u06cc\u0642\u06c1 \u0632\u0646\u062c\u06cc\u0631 \u06a9\u0648 \u0631\u0648\u0627\u0646\u06cc \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0628\u06be\u06cc \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0646\u0627\u0645 \u0642\u062f\u0631\u062a\u06cc \u0632\u0628\u0627\u0646 \u06a9\u06cc \u0637\u0631\u062d \u06a9\u0648\u0688 \u06a9\u0648 \u0628\u0627\u0626\u06cc\u06ba \u0633\u06d2 \u062f\u0627\u0626\u06cc\u06ba \u06cc\u0627 \u0627\u0648\u067e\u0631 \u0633\u06d2 \u0646\u06cc\u0686\u06d2 \u062a\u06a9 \u0631\u0648\u0627\u0646\u06cc \u0633\u06d2 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0622\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-real-world-example-one-flutter-carousel-builder\">\u062d\u0642\u06cc\u0642\u06cc \u0632\u0646\u062f\u06af\u06cc \u06a9\u06cc \u0645\u062b\u0627\u0644 1: \u0641\u0644\u0679\u0631 \u06a9\u06cc\u0631\u0648\u0633\u0644 \u0628\u0644\u0688\u0631<\/h2>\n<p>\u06cc\u06c1 \u0641\u0644\u0679\u0631 \u0641\u0646\u0679\u06cc\u06a9 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u06a9\u0627 \u062d\u0642\u06cc\u0642\u06cc \u067e\u06cc\u062f\u0627\u0648\u0627\u0631\u06cc \u0639\u0645\u0644 \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u0648 \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u067e\u0631 \u062f\u0648 \u0645\u062e\u062a\u0644\u0641 carousels \u062f\u06a9\u06be\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u06cc\u06a9 \u067e\u0631\u0648\u0645\u0648\u0634\u0646\u0644 \u0627\u0634\u062a\u06c1\u0627\u0631\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0648\u0631 \u062f\u0648\u0633\u0631\u0627 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u06cc\u0644\u0646\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u06c1\u0631 carousel \u06a9\u06cc \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u062a\u0631\u062a\u06cc\u0628 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06cc\u06a9 \u06c1\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0645\u06cc\u06a9\u0627\u0646\u0632\u0645 \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-configuration-objects\">\u062a\u0631\u062a\u06cc\u0628 \u0622\u0628\u062c\u06cc\u06a9\u0679<\/h3>\n<pre><code class=\"language-csharp\">import 'package:flutter\/widgets.dart';\nimport 'package:equatable\/equatable.dart';\nimport 'package:carousel_slider\/carousel_slider.dart';\n\nclass CarouselArgs extends Equatable {\n  final CarouselSliderController? carouselController;\n  final int itemCount;\n  final Widget Function(BuildContext, int, int) itemBuilder;\n  final CarouselOptions options;\n\n  const CarouselArgs({\n    this.carouselController,\n    required this.itemCount,\n    required this.itemBuilder,\n    required this.options,\n  });\n\n  @override\n  List<\/code><\/pre>\n<p><code>CarouselArgs<\/code>    \u0627\u0648\u0631 <code>CarouselOptions<\/code> \u0627\u06cc\u06a9 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0622\u0628\u062c\u06cc\u06a9\u0679\u06d4 \u0627\u0633 \u0645\u06cc\u06ba \u0648\u06c1 \u062a\u0645\u0627\u0645 \u0688\u06cc\u0679\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 carousel \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u0646\u0679\u06cc\u0646\u0631 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0627\u067e\u0646\u06cc \u06a9\u0648\u0626\u06cc \u062a\u0631\u062a\u06cc\u0628 \u0645\u0646\u0637\u0642 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-product\">\u0645\u0635\u0646\u0648\u0639\u0627\u062a<\/h3>\n<pre><code class=\"language-csharp\">import 'package:flutter\/material.dart';\nimport 'package:carousel_slider\/carousel_slider.dart' as n;\n\nclass CustomCarousel extends StatelessWidget {\n  final CarouselArgs dto;\n\n  \/\/ private constructor only the Builder can create this widget\n  CustomCarousel._builder(CustomCarouselBuilder builder)\n      : dto = builder._dto!;\n\n  @override\n  Widget build(BuildContext context) {\n    return n.CarouselSlider.builder(\n      options: n.CarouselOptions(\n        height: dto.options.height,\n        viewportFraction: dto.options.viewPortFraction!,\n        enableInfiniteScroll: dto.options.enableInfiniteScroll!,\n        enlargeCenterPage: dto.options.enlargeCenterPage,\n        onPageChanged: dto.options.onPageChanged,\n        autoPlayCurve: dto.options.autoplayCurve!,\n        autoPlay: dto.options.autoplay!,\n      ),\n      itemBuilder: dto.itemBuilder,\n      itemCount: dto.itemCount,\n    );\n  }\n}\n<\/code><\/pre>\n<p><code>CustomCarousel<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06c1\u06d2\u06d4 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0627\u0631 \u0646\u062c\u06cc \u06c1\u06d2\u06d4 <code>CustomCarousel._builder<\/code>. \u0627\u0646\u0688\u0631 \u0633\u06a9\u0648\u0631 \u06a9\u0627 \u0633\u0627\u0628\u0642\u06c1 \u200b\u200b\u0627\u0648\u0631 \u0646\u0627\u0645\u0632\u062f \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633 \u06a9\u0644\u0627\u0633 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0627\u0633\u06d2 \u0627\u0646\u0633\u0679\u06cc\u0679\u06cc\u0648\u0679 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627\u06d4 <code>CustomCarousel<\/code> \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u06cc\u06a9 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u0627 \u0648\u0627\u062d\u062f \u0637\u0631\u06cc\u0642\u06c1 \u0628\u0644\u0688\u0631 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u06c1\u06d2\u06d4 \u062a\u0645\u0627\u0645 carousel \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u06a9\u0648 \u0628\u0644\u0688\u0631 \u0633\u06d2 \u06af\u0632\u0631\u0646\u06d2 \u067e\u0631 \u0645\u062c\u0628\u0648\u0631 \u06a9\u0631\u06a9\u06d2\u060c \u0627\u0646 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0633\u062a\u0642\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u0645\u0628\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-builder\">\u0628\u0644\u0688\u0631<\/h3>\n<pre><code class=\"language-csharp\">class CustomCarouselBuilder {\n  BuildContext? _context;\n  CarouselArgs? _dto;\n\n  CustomCarouselBuilder setArgs(BuildContext context, CarouselArgs value) {\n    _context = context;\n    _dto = value;\n    return this;\n  }\n\n  Widget get buildCarousel =>\n      CustomCarousel._builder(this).build(_context!);\n}\n<\/code><\/pre>\n<p><code>CustomCarouselBuilder<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u0628\u0644\u0688\u0631 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>BuildContext<\/code> \u0627\u0648\u0631 <code>CarouselArgs<\/code> \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 <code>setArgs<\/code>. \u06a9\u06c1 <code>setArgs<\/code> \u0637\u0631\u06cc\u0642\u06c1 \u0648\u0627\u067e\u0633\u06cc <code>this<\/code>\u06a9\u0627\u0644 \u06a9\u0648 \u06a9\u0646\u06cc\u06a9\u0679 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><code>buildCarousel<\/code>    \u06cc\u06c1 \u0622\u062e\u0631\u06cc \u0645\u0631\u062d\u0644\u06c1 \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>CustomCarousel<\/code>\u06cc\u06c1 \u062e\u0648\u062f \u06a9\u0648 \u062f\u0644\u06cc\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u067e\u0627\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0633\u06d2 \u067e\u06a9\u0627\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>build<\/code> \u062d\u062a\u0645\u06cc \u0648\u06cc\u062c\u06cc\u0679 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 carousel \u0646\u06c1\u06cc\u06ba \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0627\u0648\u0631 \u062f\u0644\u0627\u0626\u0644 \u062f\u0648\u0646\u0648\u06ba \u0641\u0631\u0627\u06c1\u0645 \u0646\u06c1 \u06a9\u06cc\u06d2 \u062c\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-the-director-a-factory-that-uses-the-builder\">\u0688\u0627\u0626\u0631\u06cc\u06a9\u0679\u0631: \u0628\u0644\u0688\u0631 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0641\u06cc\u06a9\u0679\u0631\u06cc<\/h3>\n<pre><code class=\"language-csharp\">import 'package:flutter\/material.dart';\nimport 'package:provider\/provider.dart';\nimport 'package:carousel_slider\/carousel_slider.dart' as n;\n\nclass CarouselWidgetFactory {\n  static CustomCarouselBuilder showCarouselAds(\n    BuildContext context, {\n    void Function(int, n.CarouselPageChangedReason)? onPageChanged,\n  }) =>\n      CustomCarouselBuilder().setArgs(\n        context,\n        CarouselArgs(\n          itemCount: context.read<dashboardlogic>().dashboardAds.length,\n          itemBuilder: (context, index, realIndex) => DashboardAdsList(\n            dto: context.read<dashboardlogic>().dashboardAds[index],\n          ),\n          options: CarouselOptions(\n            height: 200,\n            viewPortFraction: 0.97,\n            enableInfiniteScroll: false,\n            autoplayCurve: Curves.easeIn,\n            enlargeCenterPage: true,\n            pauseAutoPlayOnManualNavigate: true,\n            onPageChanged: onPageChanged,\n            autoplay: false,\n          ),\n        ),\n      );\n\n  static CustomCarouselBuilder showCarouselAccountBalance(\n    BuildContext context, {\n    void Function(int, n.CarouselPageChangedReason)? onPageChanged,\n  }) =>\n      CustomCarouselBuilder().setArgs(\n        context,\n        CarouselArgs(\n          itemCount: context.read<dashboardlogic>().allBalances.length,\n          itemBuilder: (context, index, realIndex) => BalanceList(\n            dto: context.read<dashboardlogic>().allBalances[index],\n          ),\n          options: CarouselOptions(\n            height: 230,\n            viewPortFraction: 1,\n            enableInfiniteScroll: false,\n            autoplayCurve: Curves.decelerate,\n            enlargeCenterPage: true,\n            pauseAutoPlayOnManualNavigate: true,\n            onPageChanged: onPageChanged,\n            autoplay: false,\n          ),\n        ),\n      );\n}\n<\/dashboardlogic><\/dashboardlogic><\/dashboardlogic><\/dashboardlogic><\/code><\/pre>\n<p><code>CarouselWidgetFactory<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u0688\u0627\u0626\u0631\u06cc\u06a9\u0679\u0631 \u06c1\u06d2\u06d4 \u06c1\u0645 \u0628\u062e\u0648\u0628\u06cc \u062c\u0627\u0646\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06c1\u0631 \u0645\u062e\u0635\u0648\u0635 \u06a9\u06cc\u0631\u0648\u0633\u0644 \u0642\u0633\u0645 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0644\u0688\u0631 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u0622\u067e \u06a9\u0627 \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u0627\u0634\u062a\u06c1\u0627\u0631\u06cc \u06a9\u06cc\u0631\u0648\u0633\u0644 \u06a9\u06cc\u0633\u0627 \u0644\u06af\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u0627 \u0639\u0644\u0645 (\u0627\u0648\u0646\u0686\u0627\u0626\u06cc 200\u060c \u0648\u06cc\u0648 \u067e\u0648\u0631\u0679 0.97\u060c \u0627\u06cc\u0632\u06cc \u0627\u0646 \u0648\u06a9\u0631) \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u067e\u0631 \u06c1\u06d2\u06d4 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u06cc\u0644\u0646\u0633 \u06a9\u06cc\u0631\u0648\u0633\u0644 \u06a9\u06cc\u0633\u0627 \u0644\u06af\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u0627 \u0639\u0644\u0645 (\u0627\u0648\u0646\u0686\u0627\u0626\u06cc 230\u060c \u0648\u06cc\u0648 \u067e\u0648\u0631\u0679 1\u060c \u0633\u0633\u062a \u0631\u0648\u06cc) \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u067e\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0646 \u0688\u06cc\u0648\u0644\u067e\u0631\u0632 \u06a9\u0648 \u0646\u0626\u06cc \u06a9\u06cc\u0631\u0648\u0632\u0644 \u0642\u0633\u0645 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u0648\u06c1 \u0627\u06cc\u06a9 \u062c\u0627\u0645\u062f \u0637\u0631\u06cc\u0642\u06c1 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>CarouselWidgetFactory<\/code>. \u0627\u0646\u06c1\u06cc\u06ba \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0686\u06cc\u0632\u0648\u06ba \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 <code>CustomCarouselBuilder<\/code> \u06cc\u0627 <code>CustomCarousel<\/code>. \u0648\u06c1 \u0627\u067e\u0646\u06cc \u0645\u0631\u0636\u06cc \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0641\u06cc\u06a9\u0679\u0631\u06cc \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\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-csharp\">class DashboardPage extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return Column(\n      children: [\n        \/\/ the factory creates the right builder configuration\n        \/\/ buildCarousel produces the final widget\n        CarouselWidgetFactory.showCarouselAds(context).buildCarousel,\n        const SizedBox(height: 16),\n        CarouselWidgetFactory.showCarouselAccountBalance(context).buildCarousel,\n      ],\n    );\n  }\n}\n<\/code><\/pre>\n<p>2 carousels\u060c 2 \u0631\u0633\u06cc\u0627\u06ba\u06d4 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u06a9\u0648 carousel \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0642\u0637\u0639\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0648\u0626\u06cc \u0639\u0644\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0645\u06cc\u06ba \u0648\u06cc\u0648 \u067e\u0648\u0631\u0679 \u0627\u0633\u06a9\u06cc\u0644\u060c \u0622\u0679\u0648 \u067e\u0644\u06d2 \u06a9\u0631\u0648\u0632\u060c \u06cc\u0627 \u0622\u0626\u0679\u0645 \u0628\u0646\u0627\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u062a\u0627 \u06c1\u0648\u06ba\u06d4 \u06c1\u0645 \u0641\u06cc\u06a9\u0679\u0631\u06cc \u06a9\u0648 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u067e\u0631\u0648\u0688\u06a9\u0679 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0644\u0688\u0631 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u06c1\u0631 \u067e\u0631\u062a \u0635\u0631\u0641 \u0648\u06c1\u06cc \u062c\u0627\u0646\u062a\u06cc \u06c1\u06d2 \u062c\u0648 \u0627\u0633\u06d2 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-real-world-example-two-http-request-builder\">\u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06cc \u0645\u062b\u0627\u0644 2: HTTP \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0644\u0688\u0631<\/h2>\n<p>carousel \u06a9\u06cc \u0645\u062b\u0627\u0644 \u0648\u06cc\u062c\u0679 \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0628\u0644\u0688\u0631 \u06a9\u0648 \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062f\u0648\u0633\u0631\u06cc \u0645\u062b\u0627\u0644 UI \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u062a\u062e\u0644\u06cc\u0642 (HTTP \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u0646\u0627) \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0688\u06cc\u0679\u0627 \u0637\u06cc\u0627\u0631\u0648\u06ba \u0627\u0648\u0631 API \u06a9\u0644\u0627\u0626\u0646\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0639\u0627\u0645 \u0646\u0645\u0648\u0646\u06c1 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-product\">\u0645\u0635\u0646\u0648\u0639\u0627\u062a<\/h3>\n<pre><code class=\"language-csharp\">class ApiRequest {\n  final String url;\n  final String method;\n  final Map<string string=\"\"> headers;\n  final Map<string dynamic=\"\">? body;\n  final Duration timeout;\n  final int maxRetries;\n\n  \/\/ private constructor \u2014 only the Builder can create ApiRequest\n  ApiRequest._({\n    required this.url,\n    required this.method,\n    required this.headers,\n    this.body,\n    required this.timeout,\n    required this.maxRetries,\n  });\n}\n<\/string><\/string><\/code><\/pre>\n<p><code>ApiRequest<\/code>    \u0627\u0633 \u0645\u06cc\u06ba \u0648\u06c1 \u0633\u0628 \u06a9\u0686\u06be \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0622\u067e \u06a9\u0648 HTTP \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0648\u0642\u0641 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633\u06d2 \u06c1\u0645\u06cc\u0634\u06c1 \u0627\u06cc\u06a9 \u0628\u0644\u0688\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0688\u06cc\u0641\u0627\u0644\u0679\u0633 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-builder\">\u0628\u0644\u0688\u0631<\/h3>\n<pre><code class=\"language-csharp\">class ApiRequestBuilder {\n  String? _url;\n  String _method = 'GET';\n  final Map<string string=\"\"> _headers = {};\n  Map<string dynamic=\"\">? _body;\n  Duration _timeout = const Duration(seconds: 30);\n  int _maxRetries = 0;\n\n  ApiRequestBuilder url(String url) {\n    _url = url;\n    return this;\n  }\n\n  ApiRequestBuilder method(String method) {\n    _method = method;\n    return this;\n  }\n\n  ApiRequestBuilder header(String key, String value) {\n    _headers[key] = value;\n    return this;\n  }\n\n  ApiRequestBuilder bearerToken(String token) {\n    _headers['Authorization'] = 'Bearer $token';\n    return this;\n  }\n\n  ApiRequestBuilder contentType(String type) {\n    _headers['Content-Type'] = type;\n    return this;\n  }\n\n  ApiRequestBuilder body(Map<string dynamic=\"\"> body) {\n    _body = body;\n    return this;\n  }\n\n  ApiRequestBuilder timeout(Duration timeout) {\n    _timeout = timeout;\n    return this;\n  }\n\n  ApiRequestBuilder withRetries(int maxRetries) {\n    _maxRetries = maxRetries;\n    return this;\n  }\n\n  ApiRequest build() {\n    if (_url == null || _url!.isEmpty) {\n      throw ArgumentError('URL is required to build an ApiRequest');\n    }\n\n    return ApiRequest._(\n      url: _url!,\n      method: _method,\n      headers: Map.unmodifiable(_headers),\n      body: _body,\n      timeout: _timeout,\n      maxRetries: _maxRetries,\n    );\n  }\n}\n<\/string><\/string><\/string><\/code><\/pre>\n<p>\u06c1\u0631 \u0637\u0631\u06cc\u0642\u06c1 <code>ApiRequestBuilder<\/code> \u0627\u06cc\u06a9 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0648\u06cc\u0644\u06cc\u0648 \u0633\u06cc\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>this<\/code>. \u06a9\u06c1 <code>build()<\/code> \u0637\u0631\u06cc\u0642\u06c1 \u0622\u062e\u0631\u06cc \u0645\u0631\u062d\u0644\u06c1 \u06c1\u06d2\u06d4 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0641\u06cc\u0644\u0688\u0632 \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u0631\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4 <code>ApiRequest<\/code>.<\/p>\n<p>\u062a\u0648\u062c\u06c1 \u0641\u0631\u0645\u0627\u0626\u06cc\u06ba <code>_method<\/code>, <code>_timeout<\/code>\u0627\u0648\u0631 <code>_maxRetries<\/code> \u0627\u0646 \u0633\u0628 \u06a9\u06d2 \u067e\u0627\u0633 \u0645\u0639\u0642\u0648\u0644 \u0688\u06cc\u0641\u0627\u0644\u0679\u0633 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u06a9\u0648 \u0627\u0633 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0648\u06c1 \u0688\u06cc\u0641\u0627\u0644\u0679 \u06a9\u0648 \u0627\u0648\u0648\u0631 \u0631\u0627\u0626\u0688 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2\u06d4 \u06cc\u06c1 \u0628\u0644\u0688\u0631 \u0627\u0648\u0648\u0631 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06a9\u06d2 \u0627\u06c1\u0645 \u0641\u0648\u0627\u0626\u062f \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u06d4 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u0648\u0627\u0642\u0639\u06cc \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u06c1\u06cc\u06ba\u060c \u0628\u063a\u06cc\u0631 \u06a9\u0648\u0626\u06cc \u0686\u06cc\u06a9\u0646\u06af \u06cc\u0627 \u0688\u06cc\u0641\u0627\u0644\u0679 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631 \u0631\u06cc\u0632\u0648\u0644\u0648\u0634\u0646\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-csharp\">\/\/ a standard authenticated POST request\nfinal createUserRequest = ApiRequestBuilder()\n    .url('https:\/\/api.example.com\/users')\n    .method('POST')\n    .bearerToken(authToken)\n    .contentType('application\/json')\n    .body({'name': 'Oluwaseyi', 'email': 'seyi@example.com'})\n    .timeout(const Duration(seconds: 15))\n    .build();\n\n\/\/ a GET request with retry logic\nfinal getUserRequest = ApiRequestBuilder()\n    .url('https:\/\/api.example.com\/users\/$userId')\n    .bearerToken(authToken)\n    .withRetries(3)\n    .build();\n\n\/\/ a request with custom headers for a third-party service\nfinal webhookRequest = ApiRequestBuilder()\n    .url('https:\/\/webhook.example.com\/events')\n    .method('POST')\n    .header('X-API-Key', apiKey)\n    .header('X-Webhook-Secret', webhookSecret)\n    .contentType('application\/json')\n    .body(eventPayload)\n    .timeout(const Duration(seconds: 5))\n    .build();\n<\/code><\/pre>\n<p>\u06c1\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u067e\u0646\u06d2 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u0628\u06cc\u0627\u0646 \u06a9\u06cc \u0637\u0631\u062d \u067e\u0691\u06be\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u06cc\u0648 \u0622\u0631 \u0627\u06cc\u0644\u060c \u0637\u0631\u06cc\u0642\u06c1\u060c \u062a\u0648\u062b\u06cc\u0642\u060c \u0628\u0627\u0688\u06cc \u0627\u0648\u0631 \u0679\u0627\u0626\u0645 \u0622\u0624\u0679 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06a9\u0648 \u067e\u0691\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0633\u0645\u062c\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06cc\u06c1 \u06a9\u0633 \u0642\u0633\u0645 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-csharp\">\/\/ without Builder \u2014 hard to read, parameter order matters\nfinal request = ApiRequest._(\n  url: 'https:\/\/api.example.com\/users',\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer $authToken',\n    'Content-Type': 'application\/json',\n  },\n  body: {'name': 'Oluwaseyi', 'email': 'seyi@example.com'},\n  timeout: const Duration(seconds: 15),\n  maxRetries: 0,\n);\n<\/code><\/pre>\n<p>\u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u0648\u0631\u0698\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0645\u0627\u0645 \u0641\u06cc\u0644\u0688\u0632 \u0627\u0648\u0631 \u0627\u0646 \u06a9\u06d2 \u0622\u0631\u0688\u0631 \u06a9\u0648 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0628\u0644\u0688\u0631 \u0648\u0631\u0698\u0646 \u0622\u067e \u06a9\u0648 \u0635\u0631\u0641 \u0648\u06c1\u06cc \u0628\u062a\u0627\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0622\u067e \u06a9\u0648 \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06a9\u06cc \u0637\u0631\u062d \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-the-builder-pattern-in-c\">C# \u0645\u06cc\u06ba \u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646<\/h2>\n<p>C# \u0645\u06cc\u06ba \u0648\u06c1\u06cc \u067e\u06cc\u0679\u0631\u0646 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0622\u0641\u0627\u0642\u06cc \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u0627 \u0627\u0635\u0648\u0644 \u06c1\u06d2\u060c \u0646\u06c1 \u06a9\u06c1 \u0688\u0627\u0631\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062e\u0635\u0648\u0635 \u062a\u06a9\u0646\u06cc\u06a9\u06d4 C# \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0644\u0688\u0631\u0632 \u06a9\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u0624\u062b\u0631 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0633 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u06cc \u0632\u0646\u062c\u06cc\u0631 \u06a9\u06d2 \u0627\u0635\u0648\u0644 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-http-request-builder-in-c\">C# \u0645\u06cc\u06ba HTTP \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0644\u0688\u0631<\/h3>\n<pre><code class=\"language-csharp\">public class ApiRequest\n{\n    public string Url { get; }\n    public string Method { get; }\n    public Dictionary<string string=\"\"> Headers { get; }\n    public object? Body { get; }\n    public TimeSpan Timeout { get; }\n    public int MaxRetries { get; }\n\n    \/\/ private constructor\n    private ApiRequest(\n        string url,\n        string method,\n        Dictionary<string string=\"\"> headers,\n        object? body,\n        TimeSpan timeout,\n        int maxRetries)\n    {\n        Url = url;\n        Method = method;\n        Headers = headers;\n        Body = body;\n        Timeout = timeout;\n        MaxRetries = maxRetries;\n    }\n\n    public static ApiRequestBuilder Create() => new ApiRequestBuilder();\n}\n\npublic class ApiRequestBuilder\n{\n    private string? _url;\n    private string _method = \"GET\";\n    private readonly Dictionary<string string=\"\"> _headers = new();\n    private object? _body;\n    private TimeSpan _timeout = TimeSpan.FromSeconds(30);\n    private int _maxRetries = 0;\n\n    public ApiRequestBuilder Url(string url)\n    {\n        _url = url;\n        return this;\n    }\n\n    public ApiRequestBuilder Method(string method)\n    {\n        _method = method;\n        return this;\n    }\n\n    public ApiRequestBuilder Header(string key, string value)\n    {\n        _headers[key] = value;\n        return this;\n    }\n\n    public ApiRequestBuilder BearerToken(string token)\n    {\n        _headers[\"Authorization\"] = $\"Bearer {token}\";\n        return this;\n    }\n\n    public ApiRequestBuilder ContentType(string contentType)\n    {\n        _headers[\"Content-Type\"] = contentType;\n        return this;\n    }\n\n    public ApiRequestBuilder Body(object body)\n    {\n        _body = body;\n        return this;\n    }\n\n    public ApiRequestBuilder Timeout(TimeSpan timeout)\n    {\n        _timeout = timeout;\n        return this;\n    }\n\n    public ApiRequestBuilder WithRetries(int maxRetries)\n    {\n        _maxRetries = maxRetries;\n        return this;\n    }\n\n    public ApiRequest Build()\n    {\n        if (string.IsNullOrEmpty(_url))\n            throw new ArgumentException(\"URL is required\");\n\n        return new ApiRequest(\n            _url!,\n            _method,\n            new Dictionary<string string=\"\">(_headers),\n            _body,\n            _timeout,\n            _maxRetries\n        );\n    }\n}\n<\/string><\/string><\/string><\/string><\/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\">\/\/ authenticated POST request\nvar createUserRequest = ApiRequest.Create()\n    .Url(\"https:\/\/api.example.com\/users\")\n    .Method(\"POST\")\n    .BearerToken(authToken)\n    .ContentType(\"application\/json\")\n    .Body(new { name = \"Oluwaseyi\", email = \"seyi@example.com\" })\n    .Timeout(TimeSpan.FromSeconds(15))\n    .Build();\n\n\/\/ GET with retry logic\nvar getUserRequest = ApiRequest.Create()\n    .Url($\"https:\/\/api.example.com\/users\/{userId}\")\n    .BearerToken(authToken)\n    .WithRetries(3)\n    .Build();\n<\/code><\/pre>\n<p>\u067e\u06cc\u0679\u0631\u0646 \u0627\u06cc\u06a9 \u06c1\u06cc \u06c1\u06d2. \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u06d2 \u0646\u0627\u0645 C# \u06a9\u0646\u0648\u0646\u0634\u0646\u0632 \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u0628\u0691\u06d2 \u0628\u0646\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u06c1 <code>Build()<\/code> \u0637\u0631\u06cc\u0642\u06c1 \u0622\u062e\u0631\u06cc \u0645\u0631\u062d\u0644\u06c1 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0646\u062a\u06cc\u062c\u06c1 \u0628\u0627\u0644\u06a9\u0644 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u0688\u0627\u0631\u0679\u06d4<\/p>\n<h3 id=\"heading-a-ui-builder-in-c-aspnet\">C# (ASP.NET) \u0645\u06cc\u06ba UI \u0628\u0644\u0688\u0631<\/h3>\n<p>\u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u0633\u0633\u0679\u0645\u0632 \u0645\u06cc\u06ba \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 .NET \u0645\u06cc\u06ba \u0642\u062f\u0631\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0646\u0648\u0679\u06cc\u0641\u06a9\u06cc\u0634\u0646 \u0628\u0644\u0688\u0631 \u0627\u0633 \u0637\u0631\u062d \u0644\u06af\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-csharp\">public class Notification\n{\n    public string Title { get; }\n    public string Body { get; }\n    public string? ImageUrl { get; }\n    public NotificationPriority Priority { get; }\n    public Dictionary<string string=\"\"> Data { get; }\n    public bool Silent { get; }\n\n    private Notification(\n        string title,\n        string body,\n        string? imageUrl,\n        NotificationPriority priority,\n        Dictionary<string string=\"\"> data,\n        bool silent)\n    {\n        Title = title;\n        Body = body;\n        ImageUrl = imageUrl;\n        Priority = priority;\n        Data = data;\n        Silent = silent;\n    }\n\n    public static NotificationBuilder Builder(string title, string body)\n        => new NotificationBuilder(title, body);\n}\n\npublic class NotificationBuilder\n{\n    private readonly string _title;\n    private readonly string _body;\n    private string? _imageUrl;\n    private NotificationPriority _priority = NotificationPriority.Default;\n    private readonly Dictionary<string string=\"\"> _data = new();\n    private bool _silent = false;\n\n    internal NotificationBuilder(string title, string body)\n    {\n        _title = title;\n        _body = body;\n    }\n\n    public NotificationBuilder WithImage(string imageUrl)\n    {\n        _imageUrl = imageUrl;\n        return this;\n    }\n\n    public NotificationBuilder WithPriority(NotificationPriority priority)\n    {\n        _priority = priority;\n        return this;\n    }\n\n    public NotificationBuilder WithData(string key, string value)\n    {\n        _data[key] = value;\n        return this;\n    }\n\n    public NotificationBuilder AsSilent()\n    {\n        _silent = true;\n        return this;\n    }\n\n    public Notification Build() => new Notification(\n        _title,\n        _body,\n        _imageUrl,\n        _priority,\n        new Dictionary<string string=\"\">(_data),\n        _silent\n    );\n}\n\n\/\/ usage\nvar notification = Notification\n    .Builder(\"New Transaction\", \"You received NGN 50,000\")\n    .WithPriority(NotificationPriority.High)\n    .WithData(\"transaction_id\", \"txn_001\")\n    .WithData(\"type\", \"credit\")\n    .Build();\n\nvar silentNotification = Notification\n    .Builder(\"Background Sync\", \"\")\n    .AsSilent()\n    .WithData(\"sync_type\", \"full\")\n    .Build();\n<\/string><\/string><\/string><\/string><\/code><\/pre>\n<h2 id=\"heading-builder-vs-constructor-vs-factory\">\u0628\u0644\u0688\u0631 \u0628\u0645\u0642\u0627\u0628\u0644\u06c1 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u0628\u0645\u0642\u0627\u0628\u0644\u06c1 \u0641\u06cc\u06a9\u0679\u0631\u06cc<\/h2>\n<p>\u06cc\u06c1 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1 \u0628\u0644\u0688\u0631 \u0628\u0645\u0642\u0627\u0628\u0644\u06c1 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06cc\u0627 \u0641\u06cc\u06a9\u0679\u0631\u06cc \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u06a9\u0628 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u06d2 \u062c\u0627\u0626\u06cc\u06ba\u060c \u0622\u067e \u06a9\u0648 \u06cc\u06c1 \u0633\u0645\u062c\u06be\u0646\u0627 \u06c1\u0648\u06af\u0627 \u06a9\u06c1 \u06c1\u0631 \u0627\u06cc\u06a9 \u06a9\u0648\u0646 \u0633\u0627 \u0645\u0633\u0626\u0644\u06c1 \u062d\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <strong>\u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631<\/strong> \u06cc\u06c1 \u0635\u062d\u06cc\u062d \u0627\u0646\u062a\u062e\u0627\u0628 \u06c1\u06d2 \u0627\u06af\u0631 \u0627\u0639\u062a\u0631\u0627\u0636 \u0627\u062a\u0646\u0627 \u0622\u0633\u0627\u0646 \u06c1\u06d2 \u06a9\u06c1 \u062a\u0645\u0627\u0645 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u0646\u0638\u0631 \u0645\u06cc\u06ba \u0633\u0645\u062c\u06be\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06cc \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u062a\u0631\u062a\u06cc\u0628 \u0628\u06c1\u062a \u06a9\u0645 \u06c1\u06d2\u06d4 ID\u060c \u0646\u0627\u0645 \u0627\u0648\u0631 \u0627\u06cc \u0645\u06cc\u0644 \u0648\u0627\u0644\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0628\u0644\u0688\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <strong>\u0641\u06cc\u06a9\u0679\u0631\u06cc \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1<\/strong> \u06cc\u06c1 \u0635\u062d\u06cc\u062d \u0627\u0646\u062a\u062e\u0627\u0628 \u06c1\u06d2 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06cc \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u0642\u0633\u0645 \u06a9\u0648 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u06cc\u0627 \u0627\u06af\u0631 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0648 \u0641\u0648\u0631\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u06be\u0648\u0633 \u0642\u0633\u0645 \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0646\u0637\u0642 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 Repository.create()\u060c \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u0645\u0627\u062d\u0648\u0644 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 SqlRepository \u06cc\u0627 HiveRepository \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u0641\u06cc\u06a9\u0679\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <strong>\u0628\u0644\u0688\u0631<\/strong> \u06cc\u06c1 \u0635\u062d\u06cc\u062d \u0627\u0646\u062a\u062e\u0627\u0628 \u06c1\u06d2 \u062c\u0628 \u0622\u067e \u06a9\u06d2 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0645\u06cc\u06ba \u0628\u06c1\u062a \u0633\u06d2 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u06cc\u0627 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06c1\u0648\u06ba\u060c \u062c\u0628 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0648 \u0645\u062a\u0639\u062f\u062f \u0645\u0631\u0627\u062d\u0644 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u060c \u062c\u0628 \u0622\u067e \u062a\u0645\u0627\u0645 \u0645\u0637\u0644\u0648\u0628\u06c1 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06a9\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u0646\u06d2 \u062a\u06a9 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0645\u0644\u062a\u0648\u06cc \u06a9\u0631 \u06a9\u06d2 \u063a\u0644\u0637 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0628\u0646\u0627\u0646\u06d2 \u0633\u06d2 \u06af\u0631\u06cc\u0632 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06cc\u0627 \u062c\u0628 \u0622\u067e \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u0627 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0648\u0688 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u0648 \u0627\u0648\u0631 \u062e\u0648\u062f \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u06cc \u06c1\u0648\u06d4<\/p>\n<p>carousel \u0645\u062b\u0627\u0644 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0628\u0644\u0688\u0631 \u0627\u0648\u0631 \u0641\u06cc\u06a9\u0679\u0631\u06cc \u06a9\u0648 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0641\u06cc\u06a9\u0679\u0631\u06cc \u0646\u0627\u0645\u0632\u062f \u0627\u0648\u0631 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u0634\u062f\u06c1 \u0627\u0646\u0679\u0631\u06cc \u067e\u0648\u0627\u0626\u0646\u0679\u0633 (showCarouselAds\u060c showCarouselAccountBalance) \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0628\u0644\u0688\u0631 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u06a9\u06cc \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0648 \u0633\u0646\u0628\u06be\u0627\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u067e\u06cc\u0679\u0631\u0646 \u0627\u067e\u0646\u0627 \u06a9\u0627\u0645 \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-when-to-use-the-builder-pattern\">\u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0628 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u0645\u06cc\u06ba \u0645\u062e\u062a\u0644\u0641 \u0642\u0633\u0645 \u06a9\u06d2 \u0679\u06be\u0648\u0633 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u0648\u0642\u062a \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0628 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06cc \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0645\u06cc\u06ba \u0628\u06c1\u062a \u0633\u06d2 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06c1\u0648\u06ba\u060c \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u0628\u06c1\u062a \u0633\u06d2 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632\u06d4 10 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u0648\u0627\u0644\u0627 \u0646\u0627\u0645\u0632\u062f \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u067e\u0691\u06be\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u06d2 \u0627\u0648\u0631 \u063a\u0644\u0637 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0627 \u0634\u06a9\u0627\u0631 \u06c1\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 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0648 \u0645\u062a\u0639\u062f\u062f \u0645\u0631\u0627\u062d\u0644 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062c\u0646 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0633\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u0628\u0646\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06cc \u062c\u0627\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0628\u0644\u0688\u0631\u0632 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0641\u06cc\u0644\u0688\u0632 \u06a9\u0648 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0645\u062c\u0628\u0648\u0631 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>build()<\/code>.<\/p>\n<p>\u0627\u0633 \u0627\u062e\u062a\u06cc\u0627\u0631 \u06a9\u0648 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba \u0627\u06af\u0631 \u0622\u067e \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u0627 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0648\u0688 \u062e\u0648\u062f \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u06cc \u06c1\u0648\u06d4 \u0648\u0636\u0627\u062d\u062a\u06cc \u0646\u0627\u0645\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0644\u0633\u0644\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u06a9\u06cc \u0637\u0631\u062d \u06c1\u06d2\u06d4 \u0642\u0627\u0631\u0626\u06cc\u0646 \u0633\u0645\u062c\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0646\u0679\u0631\u0646\u0644 \u06a9\u0648 \u062c\u0627\u0646\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u06cc\u0627 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0645\u0641\u06cc\u062f \u06c1\u06d2 \u062c\u0628 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u06c1\u06cc \u0686\u06cc\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062e\u062a\u0644\u0641 \u0646\u0645\u0627\u0626\u0646\u062f\u06af\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06d4 \u0622\u067e \u0627\u0633\u06cc \u0628\u0644\u0688\u0631 \u06a9\u0648 \u0679\u06cc\u0633\u0679 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba\u060c \u0627\u0633\u0679\u06cc\u062c\u0646\u06af \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba\u060c \u0627\u0648\u0631 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u06a9\u0644\u0627\u0633 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0648\u0646 \u0633\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u0628\u0644\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0648\u0631 \u0627\u06af\u0631 \u0622\u067e \u063a\u0644\u0637 \u0627\u0634\u06cc\u0627\u0621 \u0628\u0646\u0627\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u06cc\u06c1 \u0628\u06be\u06cc \u0627\u0686\u06be\u0627 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u06d2 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06a9\u0648 \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u0628\u0646\u0627 \u06a9\u0631 \u0627\u0648\u0631 \u0628\u0644\u0688\u0631 \u06a9\u06d2 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u0634\u0627\u0645\u0644 \u06a9\u0631 \u06a9\u06d2\u060c <code>build()<\/code> \u06cc\u06c1 \u0637\u0631\u06cc\u0642\u06c1 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u063a\u0644\u0637 \u0627\u0634\u06cc\u0627\u0621 \u062a\u062e\u0644\u06cc\u0642 \u0646\u06c1 \u06c1\u0648\u06ba\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>\u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u0627\u0639\u062a\u0631\u0627\u0636 \u0622\u0633\u0627\u0646 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0648\u0627\u0636\u062d \u06c1\u06d2 \u062a\u0648 \u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u0633\u06d2 \u0628\u0686\u06cc\u06ba\u06d4 \u062f\u0648 \u0645\u0637\u0644\u0648\u0628\u06c1 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u0648\u0627\u0644\u06cc \u06a9\u0644\u0627\u0633 \u0645\u06cc\u06ba \u0628\u0644\u0688\u0631 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u0627\u0648\u0648\u0631 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06c1\u06d2 \u062c\u0648 \u0642\u062f\u0631 \u0645\u06cc\u06ba \u0627\u0636\u0627\u0641\u06c1 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u06a9\u0627 \u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0628\u06be\u06cc \u0627\u0686\u06be\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u06af\u0631 \u062a\u063a\u06cc\u0631 \u067e\u0630\u06cc\u0631\u06cc \u06a9\u0648\u0626\u06cc \u0645\u0633\u0626\u0644\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u0631\u0627\u067e\u0631\u0679\u06cc \u0633\u06cc\u0679\u0679\u0631\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06d2 \u0628\u0639\u062f \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0686\u06be \u0627\u0634\u06cc\u0627\u0621 \u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0622\u0633\u0627\u0646 \u067e\u0648\u0633\u0679 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0633\u06d2 \u0641\u0627\u0626\u062f\u06c1 \u0627\u0679\u06be\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0648\u0631 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06d2 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0645\u0631\u0627\u062d\u0644 \u0645\u06cc\u06ba \u0633\u062e\u062a \u062a\u0631\u062a\u06cc\u0628 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u0627\u0638\u06c1\u0627\u0631 \u0627\u06cc\u06a9 \u0644\u06a9\u06cc\u0631\u06cc \u0628\u0644\u0688\u0631 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627\u060c \u062a\u0648 \u0627\u0633 \u0633\u06d2 \u0628\u0686\u0646\u0627 \u0628\u06c1\u062a\u0631 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0645\u0631\u062d\u0644\u06c1 A \u06a9\u0627 \u0646\u062a\u06cc\u062c\u06c1 \u0645\u0631\u062d\u0644\u06c1 B \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u062f\u0648\u0633\u0631\u0627 \u0646\u0645\u0648\u0646\u06c1 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0646\u0627\u0633\u0628 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-conclusion\">\u0646\u062a\u06cc\u062c\u06c1<\/h2>\n<p>\u0628\u0644\u0688\u0631 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u0627\u0646 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0646 \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u062a\u0645\u0627\u0645 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u0648 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06d2 \u0645\u0632\u06cc\u062f \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u06c1\u062a \u0633\u06d2 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u0648\u0627\u0644\u0627 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u0627\u0646 \u0627\u0642\u062f\u0627\u0631 \u06a9\u06cc \u062f\u06cc\u0648\u0627\u0631 \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0646\u06c1\u06cc\u06ba \u067e\u0691\u06be\u0646\u0627 \u0645\u0634\u06a9\u0644\u060c \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u0627 \u0645\u0634\u06a9\u0644 \u0627\u0648\u0631 \u063a\u0644\u0637 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0627 \u0634\u06a9\u0627\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u0627\u0644 \u0686\u06cc\u06a9\u0646\u06af \u0627\u0648\u0631 \u0688\u06cc\u0641\u0627\u0644\u0679 \u0631\u06cc\u0632\u0648\u0644\u0648\u0634\u0646 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u062f\u0631\u06a9\u0627\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u06a9\u0648\u0688 \u06a9\u06d2 \u0627\u0631\u0627\u062f\u06d2 \u06a9\u0648 \u062f\u06be\u0646\u062f\u0644\u0627 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0628\u0644\u0688\u0631 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0648 \u062e\u0648\u062f \u0627\u0634\u06cc\u0627\u0621 \u0633\u06d2 \u0627\u0644\u06af \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0648 \u062a\u0641\u0635\u06cc\u0644\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0644\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u062c\u0645\u0639 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0639\u0645\u06cc\u0631 \u0627\u06cc\u06a9 \u0622\u062e\u0631\u06cc \u0645\u0631\u062d\u0644\u06d2 \u0645\u06cc\u06ba \u06c1\u0648\u062a\u06cc \u06c1\u06d2: \u062d\u062a\u0645\u06cc \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u0627\u0648\u0631 \u062a\u062e\u0644\u06cc\u0642\u06d4 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u0627 \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0644\u0688\u0631 \u06a9\u0648 \u0646\u0638\u0631\u0627\u0646\u062f\u0627\u0632 \u06a9\u0631\u0646\u0627 \u0646\u0627\u0645\u0645\u06a9\u0646 \u06c1\u06d2\u06d4<\/p>\n<p>\u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06d2 \u0641\u0644\u0679\u0631 \u0641\u0646\u0679\u06cc\u06a9 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u06cc \u06a9\u06cc\u0631\u0648\u0633\u0644 \u0645\u062b\u0627\u0644\u06cc\u06ba \u0627\u0633\u06d2 UI \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0645\u06cc\u06ba \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06cc\u06ba: \u0648\u06cc\u062c\u06cc\u0679 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0628\u0644\u0688\u0631\u0632\u060c \u0648\u06c1 \u0641\u06cc\u06a9\u0679\u0631\u06cc\u0627\u06ba \u062c\u0648 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u0634\u062f\u06c1 \u0628\u0644\u0688\u0631 \u06a9\u0627\u0644\u0632 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u0645\u062e\u0635\u0648\u0635 \u06a9\u06cc\u0631\u0648\u0633\u0644 \u0627\u0642\u0633\u0627\u0645 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0627\u0648\u0631 \u067e\u0631\u0648\u0688\u06a9\u0679\u0633 \u062c\u0648 \u0635\u0631\u0641 \u0628\u0644\u0688\u0631\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u06cc\u06d2 \u062c\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0646\u0626\u06cc carousel \u0642\u0633\u0645 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u0641\u06cc\u06a9\u0679\u0631\u06cc \u0637\u0631\u06cc\u0642\u06c1\u06d4 carousel \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0645\u062a\u0639\u0644\u0642\u06c1 \u0641\u06cc\u06a9\u0679\u0631\u06cc \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u0627\u06d4 \u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 carousel \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u0646\u06c1\u06cc\u06ba \u0686\u06be\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>HTTP \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0644\u0688\u0631 \u0688\u06cc\u0679\u0627 \u0644\u06cc\u0626\u0631 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06c1\u06cc \u0646\u0645\u0648\u0646\u06c1 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0637\u0631\u06cc\u0642\u06c1 \u0632\u0646\u062c\u06cc\u0631 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u062a\u0631\u062a\u06cc\u0628\u060c \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0627\u0642\u062f\u0627\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0639\u0642\u0648\u0644 \u0688\u06cc\u0641\u0627\u0644\u0679\u0633\u060c \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062a\u0648\u062b\u06cc\u0642\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0646\u0627\u0642\u0627\u0628\u0644 \u062a\u063a\u06cc\u0631 \u067e\u0631\u0648\u0688\u06a9\u0679 \u062c\u0648 \u063a\u0644\u0637 \u062d\u0627\u0644\u062a \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u0628\u0646 \u0633\u06a9\u062a\u06cc\u06d4<\/p>\n<p>\u0637\u0631\u06cc\u0642\u06c1 \u0686\u06cc\u0646\u0646\u06af \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u0628\u0644\u0688\u0631 \u06a9\u0648\u0688 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u0645\u06cc\u06ba \u0622\u0633\u0627\u0646 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u06c1\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0644 \u0627\u06cc\u06a9 \u0628\u0644\u0688\u0631 \u06a9\u0648 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0627\u06af\u0644\u06cc \u06a9\u0627\u0644 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc \u062c\u0627 \u0633\u06a9\u06d2\u06d4 \u0632\u0646\u062c\u06cc\u0631 \u06a9\u0648 \u0628\u0627\u0626\u06cc\u06ba \u0633\u06d2 \u062f\u0627\u0626\u06cc\u06ba \u06cc\u0627 \u0627\u0648\u067e\u0631 \u0633\u06d2 \u0646\u06cc\u0686\u06d2 \u062a\u06a9 \u067e\u0691\u06be\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u06a9\u06c1 \u0634\u06d2 \u06a9\u0648 \u062a\u06cc\u0627\u0631 \u06a9\u06cc\u0627 \u062c\u0627 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0635\u0631\u0641 \u062c\u0645\u0627\u0644\u06cc\u0627\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0628\u0644\u0688\u0631 \u06a9\u0648\u0688 \u06a9\u0648 \u062e\u0648\u062f \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u06cc \u0627\u0648\u0631 \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u0645\u067e\u0648\u0632\u06cc\u0634\u0646 \u0627\u06cc\u06a9 \u0645\u0633\u0626\u0644\u06c1 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06c1\u0631 \u06a9\u0648\u0688\u0628\u06cc\u0633 \u06a9\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0644\u0688\u0631 \u067e\u06cc\u0679\u0631\u0646 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u062a\u062c\u0631\u0628\u06c1 \u06a9\u0627\u0631 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631 \u0627\u0633 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u062d\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u06a9\u0686\u06be \u0627\u0634\u06cc\u0627\u0621 \u0633\u0627\u062f\u06c1 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u062c\u06cc\u0633\u06d2 \u062a\u0627\u0631\u060c \u0646\u0645\u0628\u0631\u060c \u06cc\u0627 \u0628\u0648\u0644\u06cc\u0646\u06d4 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0622\u06af\u06d2 \u0628\u0691\u06be\u06cc\u06ba\u06d4 \u062f\u06cc\u06af\u0631 \u0627\u0634\u06cc\u0627\u0621 \u062c\u06cc\u0633\u06d2 \u06a9\u06cc\u0631\u0648\u0633\u0644 \u0648\u06cc\u062c\u06cc\u0679\u0633 \u062c\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u0626\u0679\u0645\u0632 \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f\u060c \u0622\u0626\u0679\u0645 \u0628\u0644\u0688\u0631 \u0641\u0646\u06a9\u0634\u0646\u0632\u060c \u06a9\u0646\u0679\u0631\u0648\u0644\u0631\u0632\u060c \u06c1\u0627\u0626\u0679\u0633\u060c \u0648\u06cc\u0648 \u067e\u0648\u0631\u0679 \u0631\u06cc\u0634\u0648\u0632\u060c \u0622\u0679\u0648 \u067e\u0644\u06d2 \u0633\u06cc\u0679\u0646\u06af\u0632\u060c \u067e\u06cc\u062c \u0686\u06cc\u0646\u062c \u06a9\u0627\u0644 \u0628\u06cc\u06a9\u0633 \u0627\u0648\u0631 \u0644\u0627\u0645\u062d\u062f\u0648\u062f \u0627\u0633\u06a9\u0631\u0648\u0644 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0628\u0627\u0644\u06a9\u0644 \u0628\u06be\u06cc \u0622\u0633\u0627\u0646 \u0646\u06c1\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-28713","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/28713","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=28713"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/28713\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=28713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=28713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=28713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}