{"id":28095,"date":"2026-08-22T05:39:44","date_gmt":"2026-08-22T05:39:44","guid":{"rendered":"https:\/\/umang.pk\/2026\/08\/22\/%d8%b0%d9%85%db%81-%d8%af%d8%a7%d8%b1%db%8c-%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%d9%be%db%8c%d9%b9%d8%b1%d9%86-%da%a9%d8%a7-%d8%b3%d9%84%d8%b3%d9%84%db%81-%d8%a7%db%8c%da%a9-%d9%88%d9%82%d8%aa\/"},"modified":"2026-08-22T05:39:44","modified_gmt":"2026-08-22T05:39:44","slug":"%d8%b0%d9%85%db%81-%d8%af%d8%a7%d8%b1%db%8c-%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%d9%be%db%8c%d9%b9%d8%b1%d9%86-%da%a9%d8%a7-%d8%b3%d9%84%d8%b3%d9%84%db%81-%d8%a7%db%8c%da%a9-%d9%88%d9%82%d8%aa","status":"publish","type":"post","link":"https:\/\/umang.pk\/en_us\/2026\/08\/22\/%d8%b0%d9%85%db%81-%d8%af%d8%a7%d8%b1%db%8c-%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%d9%be%db%8c%d9%b9%d8%b1%d9%86-%da%a9%d8%a7-%d8%b3%d9%84%d8%b3%d9%84%db%81-%d8%a7%db%8c%da%a9-%d9%88%d9%82%d8%aa\/","title":{"rendered":"\u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u0633\u0644\u0633\u0644\u06c1: \u0627\u06cc\u06a9 \u0648\u0642\u062a \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0645\u06cc\u06ba \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u06a9\u0648 \u0627\u0644\u06af \u06a9\u0631\u06cc\u06ba\u06d4"},"content":{"rendered":"\n<div id=\"\">\n<p>\u06c1\u0631 \u0646\u0638\u0627\u0645\u060c \u06a9\u0633\u06cc \u0646\u06c1 \u06a9\u0633\u06cc \u0648\u0642\u062a\u060c \u0627\u0646 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u062a\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0646\u06c1\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0686\u06be\u0648\u0646\u0627 \u0646\u06c1\u06cc\u06ba \u0686\u0627\u06c1\u062a\u0627\u06d4<\/p>\n<p>\u06cc\u06c1 \u0686\u06be\u0648\u0679\u0627 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0627\u062f\u06c1 \u062a\u0648\u062b\u06cc\u0642\u060c \u0627\u06cc\u06a9 \u0627\u06af\u0631 \u0628\u06cc\u0627\u0646 \u06cc\u06c1\u0627\u06ba\u060c \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u0628\u06cc\u0627\u0646\u06d4 \u067e\u06be\u0631 \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u0628\u0691\u06be\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0645\u0632\u06cc\u062f \u0634\u0631\u0627\u0626\u0637 \u0634\u0627\u0645\u0644 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0644\u0645\u0628\u06cc \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u06a9\u0633\u06cc \u0646\u06d2 \u0627\u06cc\u06a9 \u062a\u0628\u0635\u0631\u06c1 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0627: &quot;\u067e\u06c1\u0644\u06d2 \u067e\u0648\u0631\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u067e\u0691\u06be\u06d2 \u0628\u063a\u06cc\u0631 \u062a\u0631\u0645\u06cc\u0645 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4&#8221; \u0641\u0646\u06a9\u0634\u0646 \u06af\u0632\u0631\u0646\u06d2 \u06a9\u06cc \u0631\u0633\u0645 \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u0646 \u0628\u0648\u0631\u0688\u0646\u06af \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0646\u0626\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u0648 \u0627\u0633 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u062e\u0628\u0631\u062f\u0627\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u0633\u0627 \u0627\u0633 \u0648\u0642\u062a \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u06a9\u0648 \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u067e\u0631 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0627\u0646 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u06d2 \u0688\u06be\u06cc\u0631 \u0644\u06af\u0627 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u0648 \u0631\u0648\u06a9\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06a9\u0627 \u0627\u06cc\u06a9 \u0633\u0644\u0633\u0644\u06c1 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u06d2 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u06cc \u0627\u06cc\u06a9 \u0645\u0631\u06a9\u0648\u0632 \u0633\u0644\u0633\u0644\u06c1 \u0628\u0646\u0627\u0626\u06cc\u06ba \u062c\u0648 \u0633\u0628 \u06a9\u0686\u06be \u062c\u0627\u0646\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0633\u0628 \u06a9\u0686\u06be \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0627\u06cc\u06a9 \u0627\u0635\u0648\u0644 \u062c\u0627\u0646\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062c\u0627\u0646\u0686\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0633 \u0627\u0635\u0648\u0644 \u06a9\u0648 \u067e\u0627\u0633 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0627\u06cc\u0633\u0627 \u06c1\u06d2 \u062a\u0648\u060c \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u06af\u0644\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u06d2 \u067e\u0627\u0633 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0648\u0631\u0646\u06c1 \u0633\u0644\u0633\u0644\u06c1 \u0648\u06c1\u06cc\u06ba \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0648\u0626\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0632\u0646\u062c\u06cc\u0631 \u06a9\u06cc \u0644\u0645\u0628\u0627\u0626\u06cc \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u062a\u0627\u06d4 \u06a9\u0648\u0626\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u062a\u0627 \u06a9\u06c1 \u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06cc\u0627 \u0628\u0639\u062f \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u0622\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0634\u062e\u0635 \u0627\u067e\u0646\u0627 \u06a9\u0627\u0645 \u062e\u0648\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u06c1\u0627\u06ba \u0631\u06a9\u0646\u06d2 \u06cc\u0627 \u0622\u06af\u06d2 \u062c\u0627\u0646\u06d2 \u06a9\u0627 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-what-is-the-chain-of-responsibility-pattern\">\u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u0633\u0644\u0633\u0644\u06c1 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/h2>\n<p>\u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06a9\u0627 \u0633\u0644\u0633\u0644\u06c1 \u0627\u06cc\u06a9 \u0637\u0631\u0632 \u0639\u0645\u0644 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06c1\u06d2 \u062c\u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u06cc \u0632\u0646\u062c\u06cc\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0644\u0633\u0644\u06c1 \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u06c1\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0633\u0644\u0633\u0644\u06c1 \u06a9\u0648 \u0631\u0648\u06a9\u0646\u0627 \u06c1\u06d2 \u06cc\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u0627\u06af\u0644\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0648 \u0628\u06be\u06cc\u062c\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u06cc\u0679\u0631\u0646 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u06a9\u06d2 \u0646\u0638\u0627\u0645 \u0645\u06cc\u06ba \u062a\u06cc\u0646 \u0627\u06c1\u0645 \u0686\u06cc\u0632\u06cc\u06ba \u067e\u06cc\u0634 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06cc\u06c1 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u06be\u06cc\u062c\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u0648\u0631 \u0648\u0635\u0648\u0644 \u06a9\u0646\u0646\u062f\u06c1 \u06a9\u0648 \u0627\u0644\u06af \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0648\u0688 \u062c\u0648 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0627 \u0622\u063a\u0627\u0632 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646 \u0633\u06a9\u062a\u0627 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u0627 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0628\u0627\u0644\u0622\u062e\u0631 \u0627\u0633 \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u06d2 \u06af\u0627 \u06cc\u0627 \u0627\u0633\u06d2 \u0631\u0648\u06a9\u06d2 \u06af\u0627\u06d4 \u0633\u0644\u0633\u0644\u06c1 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627\u060c \u06cc\u06c1 \u0641\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0628\u0627\u0644\u06a9\u0644 \u0627\u06cc\u06a9 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u06a9\u0627 \u0645\u0627\u0644\u06a9 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0637\u0628\u0642\u06d2 \u06a9\u06d2 \u0642\u0648\u0627\u0646\u06cc\u0646 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0627\u0633 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0648\u0631 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u0628\u062f\u0644\u062a\u0627\u06d4<\/p>\n<p>\u062a\u06cc\u0633\u0631\u0627\u060c \u06cc\u06c1 \u0633\u0644\u0633\u0644\u06c1 \u06a9\u0648 \u06a9\u0645\u067e\u0648\u0632 \u0627\u06cc\u0628\u0644 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0645\u0648\u062c\u0648\u062f\u06c1 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0648\u0688 \u06a9\u0648 \u0686\u06be\u0648\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0648 \u0634\u0627\u0645\u0644\u060c \u06c1\u0679\u0627 \u0633\u06a9\u062a\u06d2 \u06cc\u0627 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0646\u0626\u06cc \u062a\u0639\u0645\u06cc\u0644 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0645\u0648\u062c\u0648\u062f\u06c1 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0627\u06cc\u06a9 \u0646\u0626\u06cc \u0634\u0627\u062e \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0633\u0644\u0633\u0644\u06c1 \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06c1\u0648\u06af\u0627\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>\u067e\u06cc\u0679\u0631\u0646 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-dart\">void handleTransaction(Transaction transaction) {\n  if (transaction.isFraud) {\n    \/\/ block transaction\n    return;\n  }\n\n  if (!transaction.isKycVerified) {\n    \/\/ reject transaction\n    return;\n  }\n\n  if (!transaction.isAccountActive) {\n    \/\/ reject transaction\n    return;\n  }\n\n  if (transaction.amount < 50000) {\n    \/\/ junior officer approval\n    return;\n  }\n\n  if (transaction.amount <= 200000) {\n    \/\/ mid level approval\n    return;\n  }\n\n  if (transaction.amount <= 1000000) {\n    \/\/ manager approval\n    return;\n  }\n\n  \/\/ executive approval\n}\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0622\u062c \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0644 \u06c1\u0645\u0627\u0631\u06cc \u06a9\u0645\u067e\u0644\u0627\u0626\u0646\u0633 \u0679\u06cc\u0645 \u06a9\u0631\u06cc\u0688\u0679 \u0633\u06a9\u0648\u0631 \u0686\u06cc\u06a9 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06d2 \u06af\u06cc\u06d4 \u0641\u0631\u0627\u0688 \u0679\u06cc\u0645 \u0646\u06d2 \u0627\u0633\u067e\u06cc\u0688 \u0686\u06cc\u06a9 \u06a9\u0627 \u0627\u0636\u0627\u0641\u06c1 \u06a9\u06cc\u0627\u06d4 \u0642\u0627\u0646\u0648\u0646\u06cc \u0679\u06cc\u0645 \u067e\u0627\u0628\u0646\u062f\u06cc\u0648\u06ba \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u06a9\u0627 \u0645\u0631\u062d\u0644\u06c1 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u067e\u0631\u0648\u0688\u06a9\u0679 \u0645\u06cc\u0646\u06cc\u062c\u0631 \u0631\u0648\u0632\u0627\u0646\u06c1 \u06a9\u06cc \u062d\u062f \u06a9\u06cc \u062c\u0627\u0646\u0686 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0645\u0627\u0645 \u0646\u0626\u06d2 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0627\u0633\u06cc \u0637\u0631\u062d \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u0645\u06cc\u06ba 50 \u0644\u0627\u0626\u0646\u06cc\u06ba \u0644\u06af\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u067e\u06be\u0631 \u0627\u06cc\u06a9 \u0633\u0648\u06d4 \u062d\u0627\u0644\u0627\u062a \u0627\u0646 \u0637\u0631\u06cc\u0642\u0648\u06ba \u0633\u06d2 \u062a\u0639\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0646 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0648\u0686\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u06a9\u0648 \u062a\u0645\u0627\u0645 \u0645\u0645\u06a9\u0646\u06c1 \u062c\u06be\u0646\u0688\u06d2 \u06a9\u06d2 \u0645\u062c\u0645\u0648\u0639\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u062d\u0627\u0644\u062a \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0628\u06af \u0627\u0633 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2 \u062f\u06cc\u06af\u0631 \u062a\u0645\u0627\u0645 \u062d\u0627\u0644\u0627\u062a \u06a9\u0648 \u0645\u062a\u0627\u062b\u0631 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06a9\u0627 \u0633\u0644\u0633\u0644\u06c1 \u06cc\u06c1 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2: \u06c1\u0631 \u0627\u0635\u0648\u0644 \u06a9\u0627 \u0627\u067e\u0646\u0627 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u062c\u0648\u0691\u06cc\u06ba\u06d4 \u0633\u0644\u0633\u0644\u06c1 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0648 \u0642\u0648\u0627\u0639\u062f \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0635\u0631\u0641 \u0633\u0644\u0633\u0644\u06c1 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0631\u0627\u0633\u062a\u06d2 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u0622\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>\u067e\u06cc\u0679\u0631\u0646 \u06a9\u06d2 \u062a\u06cc\u0646 \u0627\u062c\u0632\u0627\u0621 \u06c1\u06cc\u06ba:<\/p>\n<h3 id=\"heading-1-the-handler-interface\">1. \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633<\/h3>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0639\u0627\u06c1\u062f\u06c1 \u06c1\u06d2 \u062c\u0633\u06d2 \u0633\u0644\u0633\u0644\u06c1 \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u062a\u0645\u0627\u0645 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0627\u0639\u0644\u0627\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0686\u06cc\u0646 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0645\u0627\u0645 \u06a9\u0646\u06a9\u0631\u06cc\u0679 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u0627\u0633 \u06a9\u0648 \u0628\u0691\u06be\u0627\u062a\u06d2 \u06cc\u0627 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-2-the-concrete-handlers\">2. \u06a9\u0646\u06a9\u0631\u06cc\u0679 \u06c1\u06cc\u0646\u0688\u0644\u0631<\/h3>\n<p>\u06cc\u06c1 \u06c1\u06d2 \u0627\u0635\u0644 \u0646\u0641\u0627\u0630\u06d4 \u06c1\u0631 \u0627\u06cc\u06a9 \u0628\u0627\u0644\u06a9\u0644 \u0627\u06cc\u06a9 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u06a9\u0627 \u0645\u0627\u0644\u06a9 \u06c1\u06d2\u06d4 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0642\u0648\u0627\u0639\u062f \u067e\u0631 \u067e\u0648\u0631\u0627 \u0627\u062a\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0642\u0627\u0639\u062f\u06c1 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648\u060c \u0633\u0644\u0633\u0644\u06c1 \u0628\u0646\u062f \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0627\u0635\u0648\u0644 \u06af\u0632\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u06af\u0644\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u0622\u06af\u06d2 \u0628\u06be\u06cc\u062c \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-3-the-chain\">3. \u0633\u0644\u0633\u0644\u06c1<\/h3>\n<p>\u06cc\u06c1 \u06a9\u0644\u0627\u0633 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0628\u0627\u0646\u062f\u06be\u0646\u06d2 \u06a9\u0627 \u0639\u0645\u0644\u06d4 <code>setNext<\/code> \u0637\u0631\u06cc\u0642\u06c1 \u0627\u067e\u0646\u06cc \u0633\u0627\u062e\u062a \u06a9\u06cc \u062c\u0691 \u06cc\u0627 \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u0633\u06cc\u0679 \u0627\u067e \u0633\u06d2 \u0633\u0644\u0633\u0644\u06c1 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u0627 \u062d\u06a9\u0645 \u067e\u06be\u0627\u0646\u0633\u06cc \u06a9\u0627 \u062d\u06a9\u0645 \u06c1\u06d2.<\/p>\n<h2 id=\"heading-real-world-example-one-transaction-approval-flow\">\u062d\u0642\u06cc\u0642\u06cc \u0632\u0646\u062f\u06af\u06cc \u06a9\u06cc \u0645\u062b\u0627\u0644 1: \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u06cc \u0645\u0646\u0638\u0648\u0631\u06cc \u06a9\u0627 \u0628\u06c1\u0627\u0624<\/h2>\n<p>Fintech \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645\u0632 \u06c1\u0631 \u0631\u0648\u0632 \u06c1\u0632\u0627\u0631\u0648\u06ba \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0631 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u0648 \u0645\u0646\u0638\u0648\u0631 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u0626\u06cc \u062a\u0635\u062f\u06cc\u0642\u06cc \u0627\u0648\u0631 \u0645\u0646\u0638\u0648\u0631\u06cc \u06a9\u06d2 \u062f\u0631\u0648\u0627\u0632\u0648\u06ba \u0633\u06d2 \u06af\u0632\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06c1\u0631 \u062f\u0631\u0648\u0627\u0632\u06c1 \u062e\u0648\u062f \u0645\u062e\u062a\u0627\u0631 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0634\u062e\u0635 \u06a9\u06cc \u0627\u06cc\u06a9 \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06af\u06cc\u0679 \u0622\u0631\u0688\u0631 \u0645\u06cc\u06ba:<\/p>\n<ol>\n<li>\n<p>\u0641\u0631\u0627\u0688 \u0686\u06cc\u06a9: \u06a9\u06cc\u0627 \u0627\u0633 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u0648 \u062f\u06be\u0648\u06a9\u06c1 \u062f\u06c1\u06cc \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>KYC \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642: \u06a9\u06cc\u0627 \u0635\u0627\u0631\u0641 \u0646\u06d2 \u0634\u0646\u0627\u062e\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u0645\u06a9\u0645\u0644 \u06a9\u0631 \u0644\u06cc \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>\u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06cc \u062d\u06cc\u062b\u06cc\u062a: \u06a9\u06cc\u0627 \u0622\u067e \u06a9\u0627 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0641\u0639\u0627\u0644 \u0627\u0648\u0631 \u0627\u0686\u06be\u06cc \u062d\u0627\u0644\u062a \u0645\u06cc\u06ba \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>\u0645\u0646\u0638\u0648\u0631\u06cc \u06a9\u06cc \u0633\u0637\u062d: \u06a9\u0633 \u0633\u0637\u062d \u06a9\u06d2 \u0627\u06cc\u06af\u0632\u06cc\u06a9\u0679\u0648\u0632 \u06a9\u0648 \u0627\u0633 \u0631\u0642\u0645 \u06a9\u0648 \u0645\u0646\u0638\u0648\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u062e\u062a\u06cc\u0627\u0631 \u06c1\u06d2\u061f<\/p>\n<\/li>\n<\/ol>\n<h3 id=\"heading-the-transaction-model\">\u062a\u062c\u0627\u0631\u062a\u06cc \u0645\u0627\u0688\u0644<\/h3>\n<pre><code class=\"language-dart\">class Transaction {\n  final num amount;\n  final bool isFraud;\n  final bool isKycVerified;\n  final bool isAccountActive;\n\n  const Transaction({\n    required this.amount,\n    required this.isFraud,\n    required this.isKycVerified,\n    required this.isAccountActive,\n  });\n}\n<\/code><\/pre>\n<p>\u0679\u0631\u0627\u0646\u0632\u06cc\u06a9\u0634\u0646 \u0645\u0627\u0688\u0644 \u0648\u06c1 \u062a\u0645\u0627\u0645 \u0688\u06cc\u0679\u0627 \u067e\u0627\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u06c1\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0648 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u06a9\u0627\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0635\u0631\u0641 \u0627\u067e\u0646\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0645\u0627\u0644\u06a9 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1\u0627\u06ba \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06cc \u06a9\u0648\u0626\u06cc \u0645\u0646\u0637\u0642 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-handler-interface\">\u06c1\u06cc\u0646\u0688\u0644\u0631 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633<\/h3>\n<pre><code class=\"language-dart\">abstract class TransactionHandler {\n  TransactionHandler? _next;\n\n  void setNext(TransactionHandler handler) {\n    _next = handler;\n  }\n\n  void handle(Transaction transaction);\n\n  void passToNext(Transaction transaction) {\n    if (_next != null) {\n      _next!.handle(transaction);\n    } else {\n      print('End of chain reached with no handler stopping the transaction');\n    }\n  }\n}\n<\/code><\/pre>\n<p><code>TransactionHandler<\/code>    \u06cc\u06c1 \u0648\u06c1 \u0645\u0639\u0627\u06c1\u062f\u06c1 \u06c1\u06d2 \u062c\u0633\u06d2 \u062a\u0645\u0627\u0645 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u0644\u0627\u06af\u0648 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><code>_next<\/code>    null \u0645\u0645\u06a9\u0646 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0633\u0644\u0633\u0644\u06c1 \u0645\u06cc\u06ba \u0622\u062e\u0631\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0627\u06af\u0644\u0627 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u06a9\u0627\u0644\u0639\u062f\u0645 \u0642\u0631\u0627\u0631 \u062f\u06cc\u0646\u0627 \u0627\u0648\u0631 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0633\u06d2 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u0627 \u0633\u0644\u0633\u0644\u06c1 \u06a9\u06d2 \u0622\u062e\u0631 \u0645\u06cc\u06ba \u0635\u0641\u0631 \u067e\u0648\u0627\u0626\u0646\u0679\u0631 \u06a9\u06d2 \u062a\u0635\u0627\u062f\u0645 \u06a9\u0648 \u0631\u0648\u06a9 \u062f\u06d2 \u06af\u0627\u06d4<\/p>\n<p><code>setNext<\/code>    \u0627\u06cc\u06a9 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0648 \u0627\u06af\u0644\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0633\u06d2 \u062c\u0648\u0691\u06cc\u06ba\u06d4 \u062c\u0628 \u06c1\u0645 \u0633\u0644\u0633\u0644\u06c1 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u06c1\u0645 \u0627\u0633\u06d2 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><code>passToNext<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u062f\u062f\u06af\u0627\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u06c1\u06d2 \u062c\u0633\u06d2 \u062a\u0645\u0627\u0645 \u06a9\u0646\u06a9\u0631\u06cc\u0679 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0628 \u06a9\u0648\u0626\u06cc \u0627\u0635\u0648\u0644 \u06af\u0632\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0627\u0633\u06d2 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2: \u06cc\u06c1 \u0627\u0633 \u0648\u0642\u062a \u0644\u0627\u06af \u0627\u0646 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0633\u0644\u0633\u0644\u06c1 \u06a9\u06d2 \u0627\u062e\u062a\u062a\u0627\u0645 \u062a\u06a9 \u067e\u06c1\u0646\u0686 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u06d2 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u0648 \u0631\u0648\u06a9\u06d2\u06d4 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0646\u0638\u0627\u0645 \u0645\u06cc\u06ba\u060c \u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u0646\u062a\u0628\u0627\u06c1 \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646\u06d2 \u06af\u0627 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0633\u0644\u0633\u0644\u06c1 \u0635\u062d\u06cc\u062d \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u0646\u06c1\u06cc\u06ba \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-concrete-handlers\">\u06a9\u0646\u06a9\u0631\u06cc\u0679 \u06c1\u06cc\u0646\u0688\u0644\u0631<\/h3>\n<pre><code class=\"language-dart\">class FraudHandler extends TransactionHandler {\n  @override\n  void handle(Transaction transaction) {\n    if (transaction.isFraud) {\n      print('Transaction blocked: fraud detected');\n      return;\n    }\n    print('Fraud check passed');\n    passToNext(transaction);\n  }\n}\n<\/code><\/pre>\n<p><code>FraudHandler<\/code>    \u06cc\u06c1 \u067e\u06c1\u0644\u0627 \u062f\u0631\u0648\u0627\u0632\u06c1 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0679\u0631\u0627\u0646\u0632\u06cc\u06a9\u0634\u0646 \u06a9\u0648 \u062f\u06be\u0648\u06a9\u06c1 \u062f\u06c1\u06cc \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0633\u062a\u0631\u062f \u067e\u06cc\u063a\u0627\u0645 \u067e\u0631\u0646\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0644\u0633\u0644\u06c1 \u06cc\u06c1\u06cc\u06ba \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0648\u0633\u0631\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u0627\u0633 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u0648 \u0646\u06c1\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0641\u0631\u0627\u0688 \u0686\u06cc\u06a9 \u067e\u0627\u0633 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0648\u06c1 \u0622\u067e \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4 <code>passToNext<\/code> \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u0627\u06af\u0644\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u06cc \u0637\u0631\u0641 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class KycHandler extends TransactionHandler {\n  @override\n  void handle(Transaction transaction) {\n    if (!transaction.isKycVerified) {\n      print('Transaction blocked: KYC verification incomplete');\n      return;\n    }\n    print('KYC check passed');\n    passToNext(transaction);\n  }\n}\n<\/code><\/pre>\n<p><code>KycHandler<\/code>    \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0635\u0627\u0631\u0641 \u0646\u06d2 \u0634\u0646\u0627\u062e\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u0645\u06a9\u0645\u0644 \u06a9\u0631 \u0644\u06cc \u06c1\u06d2\u06d4 \u0646\u06c1\u06cc\u06ba \u062a\u0648 \u0633\u0644\u0633\u0644\u06c1 \u0631\u06a9 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0627\u06af\u0631 \u0627\u06cc\u0633\u0627 \u06c1\u06d2 \u062a\u0648\u060c \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u0622\u06af\u06d2 \u0628\u0691\u06be\u06d2 \u06af\u0627\u06d4 \u06cc\u06c1 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0641\u0631\u0627\u0688 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0645 \u0622\u067e \u06a9\u06d2 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06cc \u062d\u06cc\u062b\u06cc\u062a \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0627\u0635\u0648\u0644 \u06a9\u0627 \u0645\u0627\u0644\u06a9\u06d4<\/p>\n<pre><code class=\"language-dart\">class AccountHandler extends TransactionHandler {\n  @override\n  void handle(Transaction transaction) {\n    if (!transaction.isAccountActive) {\n      print('Transaction blocked: account is not active');\n      return;\n    }\n    print('Account status check passed');\n    passToNext(transaction);\n  }\n}\n<\/code><\/pre>\n<p><code>AccountHandler<\/code>    \u0627\u067e\u0646\u06d2 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06cc \u062d\u06cc\u062b\u06cc\u062a \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u06c1\u06cc \u067e\u06cc\u0679\u0631\u0646\u060c \u0627\u06cc\u06a9 \u0627\u0635\u0648\u0644: \u0631\u0648\u06a9\u06cc\u06ba \u06cc\u0627 \u06af\u0632\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">class ApprovalHandler extends TransactionHandler {\n  @override\n  void handle(Transaction transaction) {\n    if (transaction.amount < 50000) {\n      print('Approved by Junior Officer \u2014 amount: ${transaction.amount}');\n      return;\n    }\n\n    if (transaction.amount <= 200000) {\n      print('Approved by Mid-Level Officer \u2014 amount: ${transaction.amount}');\n      return;\n    }\n\n    if (transaction.amount <= 1000000) {\n      print('Approved by Manager \u2014 amount: ${transaction.amount}');\n      return;\n    }\n\n    print('Escalated to Executive Approval \u2014 amount: ${transaction.amount}');\n    passToNext(transaction);\n  }\n}\n<\/code><\/pre>\n<p><code>ApprovalHandler<\/code>    \u06cc\u06c1 \u0622\u062e\u0631\u06cc \u062f\u0631\u0648\u0627\u0632\u06c1 \u06c1\u06d2\u06d4 \u0631\u0642\u0645 \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u0648 \u0645\u0646\u0638\u0648\u0631\u06cc \u06a9\u06d2 \u0645\u0646\u0627\u0633\u0628 \u062f\u0631\u062c\u06d2 \u062a\u06a9 \u0644\u06d2 \u062c\u0627\u0626\u06cc\u06ba\u06d4 50,000 \u0633\u06d2 \u06a9\u0645 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u06cc \u0645\u0646\u0638\u0648\u0631\u06cc \u062c\u0648\u0646\u06cc\u0626\u0631 \u0627\u0641\u0633\u0631\u0627\u0646 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062f\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u062f\u0631\u0645\u06cc\u0627\u0646\u06cc \u062f\u0631\u062c\u06d2 \u06a9\u06d2 \u0627\u0641\u0633\u0631\u0627\u0646 \u06a9\u0648 200,000 \u062a\u06a9 \u062a\u0646\u062e\u0648\u0627\u06c1 \u062f\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 1,000,000 \u062a\u06a9 \u0627\u06cc\u0688\u0645\u0646\u0633\u0679\u0631\u06cc\u0679\u0631 \u06a9\u06d2 \u067e\u0627\u0633 \u062c\u0627\u0626\u06cc\u06ba \u06af\u06d2\u06d4 \u0627\u0633 \u0633\u06d2 \u0622\u06af\u06d2\u060c \u0688\u06cc\u0644 \u0645\u0632\u06cc\u062f \u067e\u06be\u06cc\u0644\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0648 \u0627\u0628 \u0628\u06be\u06cc \u0628\u0644\u0627\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <code>passToNext<\/code> \u0627\u06af\u0631 \u0631\u0642\u0645 \u0627\u06cc\u0688\u0645\u0646 \u06a9\u06cc \u062d\u062f \u0633\u06d2 \u062a\u062c\u0627\u0648\u0632 \u06a9\u0631 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u0628\u0639\u062f \u0645\u06cc\u06ba \u0627\u0633\u06d2 \u0686\u06be\u0648\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u0633\u0644\u0633\u0644\u06c1 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0627\u06cc\u06af\u0632\u06cc\u06a9\u06cc\u0648\u0634\u0646 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0634\u0627\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>ApprovalHandler<\/code>.<\/p>\n<h3 id=\"heading-building-and-running-the-chain\">\u0686\u06cc\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/h3>\n<pre><code class=\"language-dart\">void main() {\n  \/\/ create the handlers\n  final fraud = FraudHandler();\n  final kyc = KycHandler();\n  final account = AccountHandler();\n  final approval = ApprovalHandler();\n\n  \/\/ build the chain\n  fraud.setNext(kyc);\n  kyc.setNext(account);\n  account.setNext(approval);\n\n  \/\/ test with a fraudulent transaction\n  print('Test 1: Fraudulent Transaction');\n  final fraudulentTransaction = Transaction(\n    amount: 100000,\n    isFraud: true,\n    isKycVerified: true,\n    isAccountActive: true,\n  );\n  fraud.handle(fraudulentTransaction);\n\n  \/\/ test with unverified KYC\n  print('Test 2: KYC Not Verified');\n  final unverifiedTransaction = Transaction(\n    amount: 50000,\n    isFraud: false,\n    isKycVerified: false,\n    isAccountActive: true,\n  );\n  fraud.handle(unverifiedTransaction);\n\n  \/\/ test with a valid transaction\n  print('Test 3: Valid Transaction');\n  final validTransaction = Transaction(\n    amount: 150000,\n    isFraud: false,\n    isKycVerified: true,\n    isAccountActive: true,\n  );\n  fraud.handle(validTransaction);\n\n  \/\/ test with a high value transaction\n  print('Test 4: Executive Level Transaction');\n  final executiveTransaction = Transaction(\n    amount: 2000000,\n    isFraud: false,\n    isKycVerified: true,\n    isAccountActive: true,\n  );\n  fraud.handle(executiveTransaction);\n}\n<\/code><\/pre>\n<p>\u062d\u0633\u0627\u0628 \u06a9\u062a\u0627\u0628:<\/p>\n<pre><code class=\"language-plaintext\">Test 1: Fraudulent Transaction\nTransaction blocked: fraud detected\n\nTest 2: KYC Not Verified\nFraud check passed\nTransaction blocked: KYC verification incomplete\n\nTest 3: Valid Transaction\nFraud check passed\nKYC check passed\nAccount status check passed\nApproved by Mid-Level Officer \u2014 amount: 150000\n\nTest 4: Executive Level Transaction\nFraud check passed\nKYC check passed\nAccount status check passed\nEscalated to Executive Approval \u2014 amount: 2000000\nEnd of chain reached with no handler stopping the transaction\n<\/code><\/pre>\n<p>\u0679\u06cc\u0633\u0679 1 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u067e\u0631 \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u06be\u0648\u06a9\u06c1 \u062f\u06c1\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u06cc\u0633\u0679 2 \u067e\u0627\u0633 \u06c1\u0648\u0627 \u0644\u06cc\u06a9\u0646 KYC \u067e\u0631 \u0631\u0648\u06a9 \u062f\u06cc\u0627 \u06af\u06cc\u0627\u06d4 \u0679\u06cc\u0633\u0679 3 \u062a\u0645\u0627\u0645 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0648 \u067e\u0627\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u062f\u0631\u0633\u062a \u0645\u0646\u0638\u0648\u0631\u06cc \u06a9\u06cc \u067e\u0631\u062a \u06a9\u06cc \u0637\u0631\u0641 \u0631\u0648\u0627\u0646\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u0688\u0645\u0646 \u06a9\u06cc \u062d\u062f \u0633\u06d2 \u062a\u062c\u0627\u0648\u0632 \u06a9\u0631 \u06a9\u06d2 \u0679\u06cc\u0633\u0679 4 \u06a9\u0648 \u0628\u0691\u06be\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0627\u0644\u0646\u06af \u06a9\u0648\u0688 \u06c1\u0645\u06cc\u0634\u06c1 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2: <code>fraud.handle(transaction)<\/code>. \u0645\u062c\u06be\u06d2 \u0646\u06c1\u06cc\u06ba \u0645\u0639\u0644\u0648\u0645 \u06a9\u06c1 \u06a9\u062a\u0646\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u062a\u06d2 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u0627 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0633\u0644\u0633\u0644\u06c1 \u0631\u0648\u06a9 \u062f\u06d2 \u06af\u0627\u06d4 \u0627\u0648\u0631 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u062a\u0627 \u06a9\u06c1 \u0645\u0646\u0638\u0648\u0631\u06cc \u06a9\u0627 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4 \u0679\u0631\u0627\u0646\u0632\u06cc\u06a9\u0634\u0646 \u06a9\u0648 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0648 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0633\u0644\u0633\u0644\u06c1 \u0633\u0646\u0628\u06be\u0627\u0644 \u0644\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0644\u06d2 \u0645\u06c1\u06cc\u0646\u06d2\u060c \u062c\u0628 \u06c1\u0645\u0627\u0631\u06cc \u06a9\u0645\u067e\u0644\u0627\u0626\u0646\u0633 \u0679\u06cc\u0645 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0627\u0633\u062a\u062b\u0646\u06cc\u0670 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06d2 \u06af\u06cc\u060c \u06c1\u0645 \u0635\u0631\u0641 \u0627\u06cc\u06a9 UserIdemnityCheck \u0628\u0646\u0627\u0626\u06cc\u06ba \u06af\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0633\u0644\u0633\u0644\u06c1 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633 \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u062f\u0648\u0633\u0631\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u06ba \u06af\u06cc\u06d4<\/p>\n<pre><code class=\"language-dart\">final indemnity = UserIndemnityStatus();\n\nfraud.setNext(indemnity);\nindemnity.setNext(kyc);\nkyc.setNext(account);\naccount.setNext(approval);\n<\/code><\/pre>\n<p>\u0627\u06cc\u06a9 \u0646\u0626\u06cc \u06a9\u0644\u0627\u0633 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0627\u067e \u0688\u06cc\u0679 \u0634\u062f\u06c1 \u0686\u06cc\u0646 \u0633\u06cc\u0679 \u0627\u067e\u06d4 \u062a\u0645\u0627\u0645 \u0645\u0648\u062c\u0648\u062f\u06c1 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u0628\u0631\u0642\u0631\u0627\u0631 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-real-world-example-two-user-onboarding-validation\">\u062d\u0642\u06cc\u0642\u06cc \u0632\u0646\u062f\u06af\u06cc \u06a9\u06cc \u0645\u062b\u0627\u0644 2: \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0622\u0646 \u0628\u0648\u0631\u0688\u0646\u06af \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642<\/h2>\n<p>\u0635\u0627\u0631\u0641\u06cc\u0646 \u0631\u062c\u0633\u0679\u0631\u06cc\u0634\u0646 \u0641\u0627\u0631\u0645 \u06a9\u0648 \u0645\u06a9\u0645\u0644 \u0627\u0648\u0631 \u062c\u0645\u0639 \u06a9\u0631\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0622\u067e \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u06a9\u0626\u06cc \u0645\u0631\u0627\u062d\u0644 \u0633\u06d2 \u06af\u0632\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0645\u0631\u062d\u0644\u06c1 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0635\u0627\u0631\u0641 \u06a9\u0648 \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u063a\u0644\u0637\u06cc \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648 \u06af\u06cc \u062c\u0633 \u0645\u06cc\u06ba \u06cc\u06c1 \u0648\u0627\u0636\u062d \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u06a9\u06c1 \u06a9\u06cc\u0627 \u063a\u0644\u0637 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u062a\u0631\u062a\u06cc\u0628 \u0645\u06cc\u06ba \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u06c1\u06cc\u06ba:<\/p>\n<ol>\n<li>\n<p>\u0627\u067e\u0646\u0627 \u0627\u06cc \u0645\u06cc\u0644 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba: \u06a9\u06cc\u0627 \u0622\u067e \u06a9\u0627 \u0627\u06cc \u0645\u06cc\u0644 \u0641\u0627\u0631\u0645\u06cc\u0679 \u062f\u0631\u0633\u062a \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>\u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u06cc \u0637\u0627\u0642\u062a: \u06a9\u06cc\u0627 \u0622\u067e \u06a9\u0627 \u067e\u0627\u0633 \u0648\u0631\u0688 \u0622\u067e \u06a9\u06cc \u062d\u0641\u0627\u0638\u062a\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u0648 \u067e\u0648\u0631\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>\u0639\u0645\u0631 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642: \u06a9\u06cc\u0627 \u0635\u0627\u0631\u0641 \u0631\u062c\u0633\u0679\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0641\u06cc \u067e\u0631\u0627\u0646\u0627 \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>\u0688\u067e\u0644\u06cc\u06a9\u06cc\u0679 \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u06cc\u06ba: \u06a9\u06cc\u0627 \u06cc\u06c1 \u0627\u06cc \u0645\u06cc\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06a9\u0627\u0624\u0646\u0679 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>\u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u0626\u06cc\u06ba: \u062a\u0645\u0627\u0645 \u062a\u0635\u062f\u06cc\u0642\u0627\u062a \u067e\u0627\u0633 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<\/ol>\n<h3 id=\"heading-the-registration-request-model\">\u0631\u062c\u0633\u0679\u0631\u06cc\u0634\u0646 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0627 \u0645\u0627\u0688\u0644<\/h3>\n<pre><code class=\"language-dart\">class RegistrationRequest {\n  final String email;\n  final String password;\n  final int age;\n\n  const RegistrationRequest({\n    required this.email,\n    required this.password,\n    required this.age,\n  });\n}\n<\/code><\/pre>\n<h3 id=\"heading-the-handler-interface\">\u06c1\u06cc\u0646\u0688\u0644\u0631 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633<\/h3>\n<pre><code class=\"language-dart\">abstract class RegistrationHandler {\n  RegistrationHandler? _next;\n\n  void setNext(RegistrationHandler handler) {\n    _next = handler;\n  }\n\n  void handle(RegistrationRequest request);\n\n  void passToNext(RegistrationRequest request) {\n    if (_next != null) {\n      _next!.handle(request);\n    }\n  }\n}\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0648\u06c1\u06cc \u0688\u06be\u0627\u0646\u0686\u06c1 \u06c1\u06d2 \u062c\u0648 \u067e\u06c1\u0644\u06d2 \u062a\u06be\u0627\u06d4 \u06a9\u0627\u0644\u0639\u062f\u0645 \u0627\u06af\u0644\u0627\u060c SetNext \u0633\u0644\u0633\u0644\u06c1 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 PassToNext \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u0622\u06af\u06d2 \u0628\u0691\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-concrete-handlers\">\u06a9\u0646\u06a9\u0631\u06cc\u0679 \u06c1\u06cc\u0646\u0688\u0644\u0631<\/h3>\n<pre><code class=\"language-dart\">class EmailValidationHandler extends RegistrationHandler {\n  @override\n  void handle(RegistrationRequest request) {\n    final emailRegex = RegExp(r'^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$');\n\n    if (!emailRegex.hasMatch(request.email)) {\n      print('Registration failed: invalid email format \u2014 ${request.email}');\n      return;\n    }\n\n    print('Email validation passed');\n    passToNext(request);\n  }\n}\n<\/code><\/pre>\n<p><code>EmailValidationHandler<\/code>    \u0627\u06cc \u0645\u06cc\u0644 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0631\u06cc\u06af\u0648\u0644\u0631 \u0627\u06cc\u06a9\u0633\u067e\u0631\u06cc\u0634\u0646\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0641\u0627\u0631\u0645\u06cc\u0679 \u063a\u0644\u0637 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0644\u0633\u0644\u06c1 \u06a9\u0648 \u0641\u0648\u0631\u0627\u064b \u0631\u0648\u06a9 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u062f\u0631\u0633\u062a \u06c1\u06d2 \u062a\u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0622\u06af\u06d2 \u0628\u0691\u06be \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class PasswordStrengthHandler extends RegistrationHandler {\n  @override\n  void handle(RegistrationRequest request) {\n    final password = request.password;\n    final hasMinLength = password.length >= 8;\n    final hasUppercase = password.contains(RegExp(r'[A-Z]'));\n    final hasNumber = password.contains(RegExp(r'[0-9]'));\n    final hasSpecialChar = password.contains(RegExp(r'[!@#\\$%^&*]'));\n\n    if (!hasMinLength || !hasUppercase || !hasNumber || !hasSpecialChar) {\n      print('Registration failed: password does not meet security requirements');\n      print('Requirements: 8+ characters, uppercase, number, special character');\n      return;\n    }\n\n    print('Password strength check passed');\n    passToNext(request);\n  }\n}\n<\/code><\/pre>\n<p><code>PasswordStrengthHandler<\/code>    \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u067e\u0631 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u06d2 \u0686\u0627\u0631 \u0627\u0635\u0648\u0644 \u0646\u0627\u0641\u0630 \u06a9\u0631\u06cc\u06ba\u06d4 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0644\u0645\u0628\u0627\u0626\u06cc\u060c \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0627\u06cc\u06a9 \u0628\u0691\u06d2 \u062d\u0631\u0648\u0641\u060c \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0627\u06cc\u06a9 \u0639\u062f\u062f\u060c \u0627\u0648\u0631 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0627\u06cc\u06a9 \u062e\u0627\u0635 \u062d\u0631\u0641\u06d4 \u0627\u06af\u0631 \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0635\u0627\u0631\u0641 \u06a9\u0648 \u062a\u0645\u0627\u0645 \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06cc\u06a9 \u0648\u0627\u0636\u062d \u067e\u06cc\u063a\u0627\u0645 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u06af\u0627\u06d4 \u0627\u06af\u0631 \u0633\u0628 \u06af\u0632\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0622\u06af\u06d2 \u0628\u0691\u06be \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class AgeVerificationHandler extends RegistrationHandler {\n  final int minimumAge;\n\n  AgeVerificationHandler({this.minimumAge = 18});\n\n  @override\n  void handle(RegistrationRequest request) {\n    if (request.age < minimumAge) {\n      print('Registration failed: user must be at least $minimumAge years old');\n      return;\n    }\n\n    print('Age verification passed');\n    passToNext(request);\n  }\n}\n<\/code><\/pre>\n<p><code>AgeVerificationHandler<\/code>    \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u062d\u062f \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0639\u0645\u0631 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u06cc\u06ba\u06d4 \u06cc\u06c1 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0639\u0645\u0631 \u06a9\u0648 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0642\u0628\u0648\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u0627\u0633 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0644\u0627\u0633 \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u06a9\u0633\u06cc \u062e\u0627\u0635 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0639\u0645\u0631 \u06a9\u06cc \u0634\u0631\u0637 18 \u0633\u06d2 16 \u062a\u06a9 \u0628\u062f\u0644 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u0632\u0646\u062c\u06cc\u0631 \u0628\u0646\u0627\u062a\u06d2 \u0648\u0642\u062a \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u0642\u062f\u0631 \u067e\u0627\u0633 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">class DuplicateAccountHandler extends RegistrationHandler {\n  final Set<string> existingEmails;\n\n  DuplicateAccountHandler({required this.existingEmails});\n\n  @override\n  void handle(RegistrationRequest request) {\n    if (existingEmails.contains(request.email)) {\n      print('Registration failed: an account already exists with ${request.email}');\n      return;\n    }\n\n    print('Duplicate account check passed');\n    passToNext(request);\n  }\n}\n<\/string><\/code><\/pre>\n<p><code>DuplicateAccountHandler<\/code>    \u06cc\u06c1 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062f\u06c1 \u0627\u06cc \u0645\u06cc\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06a9\u0627\u0624\u0646\u0679 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0646\u0638\u0627\u0645 \u0645\u06cc\u06ba \u06c1\u0645 \u0627\u0633\u06d2 \u0630\u062e\u06cc\u0631\u06c1 \u06cc\u0627 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1\u0627\u06ba \u06c1\u0645 \u0646\u0645\u0648\u0646\u0648\u06ba \u067e\u0631 \u0645\u062b\u0627\u0644 \u06a9\u0648 \u0645\u0631\u06a9\u0648\u0632 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc \u0645\u06cc\u0644\u0632 \u06a9\u0627 \u0627\u06cc\u06a9 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0633\u06cc\u0679 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">class AccountCreationHandler extends RegistrationHandler {\n  @override\n  void handle(RegistrationRequest request) {\n    print('All validation passed');\n    print('Creating account for: ${request.email}');\n    \/\/ call account creation service\n    print('Account created successfully');\n  }\n}\n<\/code><\/pre>\n<p><code>AccountCreationHandler<\/code>    \u06cc\u06c1 \u0622\u062e\u0631\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062a\u0628\u06be\u06cc \u0686\u0644\u06d2 \u06af\u0627 \u062c\u0628 \u062a\u0645\u0627\u0645 \u0633\u0627\u0628\u0642\u06c1 \u200b\u200b\u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u067e\u0627\u0633 \u06a9\u0631 \u0686\u06a9\u06d2 \u06c1\u0648\u06ba\u06d4 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06d2 \u0627\u0633 \u0645\u0642\u0627\u0645 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u0646\u06d2 \u062a\u06a9\u060c \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u06c1\u0631 \u0633\u0637\u062d \u067e\u0631 \u062a\u0648\u062b\u06cc\u0642 \u06c1\u0648 \u0686\u06a9\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-building-and-running-the-chain\">\u0686\u06cc\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/h3>\n<pre><code class=\"language-dart\">void main() {\n  final existingEmails = {'existing@seyi.com', 'taken@seyi.com'};\n\n  \/\/ create the handlers\n  final emailValidation = EmailValidationHandler();\n  final passwordStrength = PasswordStrengthHandler();\n  final ageVerification = AgeVerificationHandler(minimumAge: 18);\n  final duplicateCheck = DuplicateAccountHandler(existingEmails: existingEmails);\n  final accountCreation = AccountCreationHandler();\n\n  \/\/ build the chain\n  emailValidation.setNext(passwordStrength);\n  passwordStrength.setNext(ageVerification);\n  ageVerification.setNext(duplicateCheck);\n  duplicateCheck.setNext(accountCreation);\n\n  \/\/ test with invalid email\n  print('Test 1: Invalid Email');\n  emailValidation.handle(RegistrationRequest(\n    email: 'notanemail',\n    password: 'SecureP@ss1',\n    age: 25,\n  ));\n\n  \/\/ test with weak password\n  print('Test 2: Weak Password');\n  emailValidation.handle(RegistrationRequest(\n    email: 'user@example.com',\n    password: 'weak',\n    age: 25,\n  ));\n\n  \/\/ test with underage user\n  print('Test 3: Underage User');\n  emailValidation.handle(RegistrationRequest(\n    email: 'young@example.com',\n    password: 'SecureP@ss1',\n    age: 16,\n  ));\n\n  \/\/ test with duplicate account\n  print('Test 4: Duplicate Account');\n  emailValidation.handle(RegistrationRequest(\n    email: 'existing@example.com',\n    password: 'SecureP@ss1',\n    age: 25,\n  ));\n\n  \/\/ test with valid registration\n  print('Test 5: Valid Registration');\n  emailValidation.handle(RegistrationRequest(\n    email: 'newuser@example.com',\n    password: 'SecureP@ss1',\n    age: 25,\n  ));\n}\n<\/code><\/pre>\n<p>\u062d\u0633\u0627\u0628 \u06a9\u062a\u0627\u0628:<\/p>\n<pre><code class=\"language-plaintext\">Test 1: Invalid Email\nRegistration failed: invalid email format \u2014 notanemail\n\nTest 2: Weak Password\nEmail validation passed\nRegistration failed: password does not meet security requirements\nRequirements: 8+ characters, uppercase, number, special character\n\nTest 3: Underage User\nEmail validation passed\nPassword strength check passed\nAge verification passed\nRegistration failed: user must be at least 18 years old\n\nTest 4: Duplicate Account\nEmail validation passed\nPassword strength check passed\nAge verification passed\nDuplicate account check passed\nRegistration failed: an account already exists with existing@example.com\n\nTest 5: Valid Registration\nEmail validation passed\nPassword strength check passed\nAge verification passed\nDuplicate account check passed\nAll validation passed\nCreating account for: newuser@example.com\nAccount created successfully\n<\/code><\/pre>\n<p>\u06c1\u0631 \u0679\u06cc\u0633\u0679 \u0628\u0627\u0644\u06a9\u0644 \u0635\u062d\u06cc\u062d \u06c1\u06cc\u0646\u0688\u0644\u0631 \u067e\u0631 \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u0627 \u067e\u06cc\u063a\u0627\u0645 \u0645\u062e\u0635\u0648\u0635 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u062f\u0631\u0633\u062a \u0631\u062c\u0633\u0679\u0631\u06cc\u0634\u0646 \u0627\u06cc\u06a9 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0627\u0646\u0686\u0648\u06ba \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u0633\u06d2 \u06af\u0632\u0631\u06d2 \u06af\u06cc\u06d4<\/p>\n<p>\u0646\u0626\u06d2 \u062a\u0642\u0627\u0636\u06d2 \u0622\u0646\u06d2 \u067e\u0631\u060c \u06c1\u0645 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0641\u0648\u0646 \u0646\u0645\u0628\u0631 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06d2 \u0645\u0631\u062d\u0644\u06d2 \u0633\u06d2 \u06af\u0632\u0631\u06cc\u06ba \u06af\u06d2: <code>PhoneVerificationHandler<\/code> \u0627\u0633\u06d2 \u0688\u067e\u0644\u06cc\u06a9\u06cc\u0679 \u0686\u06cc\u06a9 \u0627\u0648\u0631 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0633\u0644\u0633\u0644\u06c1 \u0633\u06d2 \u062c\u0648\u0691\u06cc\u06ba\u06d4 \u067e\u0627\u0646\u0686 \u0645\u0648\u062c\u0648\u062f\u06c1 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06c1\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-makes-these-two-examples-interesting-together\">\u06a9\u06cc\u0627 \u0686\u06cc\u0632 \u0627\u0646 \u062f\u0648 \u0645\u062b\u0627\u0644\u0648\u06ba \u06a9\u0648 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u062f\u0644\u0686\u0633\u067e \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2\u061f<\/h2>\n<p>\u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u0627 \u0628\u06c1\u0627\u0624 \u0627\u0648\u0631 \u0622\u0646 \u0628\u0648\u0631\u0688\u0646\u06af \u0628\u06c1\u0627\u0624 \u0633\u0637\u062d \u067e\u0631 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u06d2 \u0644\u06af \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0648\u06c1 \u062f\u0648 \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u06cc \u0646\u0645\u0627\u0626\u0646\u062f\u06af\u06cc \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0646 \u0645\u06cc\u06ba \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0648 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u0627 \u0628\u06c1\u0627\u0624 \u062a\u0648\u062b\u06cc\u0642 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u0627\u0648\u0631 \u0631\u0648\u0679\u0646\u06af \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u0633\u0644\u0633\u0644\u06c1 \u0645\u06cc\u06ba \u062c\u0648\u0691\u062a\u0627 \u06c1\u06d2\u06d4 \u0641\u0631\u0627\u0688\u060c KYC \u0627\u0648\u0631 \u0627\u06a9\u0627\u0624\u0646\u0679 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u0622\u067e \u06a9\u06d2 \u062f\u0631\u0648\u0627\u0632\u06d2 \u067e\u0631 \u06c1\u06cc\u06ba\u06d4 \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u0646\u06d2 \u0648\u0627\u0644\u0627 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0631\u0648\u0679\u0631 \u06c1\u06d2\u06d4 \u0632\u0646\u062c\u06cc\u0631 \u06a9\u06cc \u067e\u06c1\u0644\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u06be\u0631 \u0631\u0648\u0679 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc\u0648\u06ba \u0627\u0648\u0631 \u062a\u0639\u0645\u06cc\u0644 \u06a9\u06d2 \u0646\u0638\u0627\u0645\u0648\u06ba \u0645\u06cc\u06ba \u0639\u0627\u0645 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0645\u0646\u0627\u0633\u0628 \u062d\u06a9\u0627\u0645 \u06a9\u0648 \u0628\u06be\u06cc\u062c\u06d2 \u062c\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u0631 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u0648 \u0645\u062a\u0639\u062f\u062f \u0622\u0632\u0627\u062f \u0686\u06cc\u06a9 \u067e\u0627\u0633 \u06a9\u0631\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u0646 \u0628\u0648\u0631\u0688\u0646\u06af \u0641\u0644\u0648 \u0627\u06cc\u06a9 \u062e\u0627\u0644\u0635 \u062a\u0635\u062f\u06cc\u0642\u06cc \u0633\u0644\u0633\u0644\u06c1 \u06c1\u06d2\u06d4 \u06c1\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0627\u06cc\u06a9 \u06af\u06cc\u0679 \u06c1\u06d2\u06d4 \u062d\u062a\u0645\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u06a9\u0627\u0645 \u06c1\u06d2 \u062c\u0648 \u0635\u0631\u0641 \u0627\u0633 \u0635\u0648\u0631\u062a \u0645\u06cc\u06ba \u0627\u0646\u062c\u0627\u0645 \u067e\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u062a\u0645\u0627\u0645 \u062f\u0631\u0648\u0627\u0632\u06d2 \u06af\u0632\u0631 \u062c\u0627\u0626\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0641\u0627\u0631\u0645 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af\u060c API \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642\u060c \u0627\u0648\u0631 \u06a9\u062b\u06cc\u0631 \u0645\u0631\u062d\u0644\u06c1 \u062a\u0635\u062f\u06cc\u0642\u06cc \u0628\u06c1\u0627\u0624 \u0645\u06cc\u06ba \u0639\u0627\u0645 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0646\u0648\u06ba \u0627\u06cc\u06a9 \u06c1\u06cc \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06cc \u0637\u0631\u062d \u0633\u06d2 \u0628\u0646\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0641\u0631\u0642 \u0627\u0633 \u0628\u0627\u062a \u0645\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u067e\u0627\u0633 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u06a9\u06cc\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-when-to-use-the-chain-of-responsibility-pattern\">\u0632\u0646\u062c\u06cc\u0631 \u06a9\u06cc \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06a9\u06d2 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0648 \u06a9\u0628 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u062c\u0628 \u0622\u067e \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u0645\u062a\u0639\u062f\u062f \u0622\u0632\u0627\u062f \u062a\u0635\u062f\u06cc\u0642 \u06cc\u0627 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u06d2 \u0645\u0631\u0627\u062d\u0644 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648 \u062a\u0648 \u0627\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0628\u06be\u06cc \u0645\u0648\u0632\u0648\u06ba \u06c1\u06d2 \u0627\u06af\u0631 \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u0686\u06cc\u06a9 \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f \u06cc\u0627 \u062a\u0631\u062a\u06cc\u0628 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648 \u062c\u0627\u0626\u06d2\u06d4 \u0646\u0626\u06d2 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u06cc\u0627 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u062a\u06d2 \u0648\u0642\u062a \u0645\u0648\u062c\u0648\u062f\u06c1 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u0686\u06be\u06cc \u0637\u0631\u062d \u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u06c1\u0631 \u062a\u0648\u062b\u06cc\u0642 \u06cc\u0627 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u0645\u0631\u062d\u0644\u06d2 \u0645\u06cc\u06ba \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0622\u0632\u0627\u062f \u0645\u0646\u0637\u0642 \u06c1\u0648\u06d4 \u0627\u06af\u0631 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u067e\u0631 \u06af\u06c1\u0631\u0627 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0628\u06c1\u062a \u0633\u0627\u0631\u06cc \u0631\u06cc\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u0628\u0627\u0646\u0679\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u062a\u0648 \u0627\u06cc\u06a9 \u06c1\u06cc \u0637\u0628\u0642\u06c1 \u0635\u0627\u0641 \u0633\u062a\u06be\u0631\u0627 \u06c1\u0648\u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0628 \u0622\u067e \u06c1\u0631 \u0642\u062f\u0645 \u06a9\u0648 \u0622\u0632\u0627\u062f\u0627\u0646\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u062c\u0627\u0646\u0686\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u06cc\u06c1 \u0645\u0641\u06cc\u062f \u06c1\u06d2\u06d4 \u0686\u06cc\u0646 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0679\u06cc\u0633\u0679 \u06a9\u0631\u06cc\u06ba <code>FraudHandler<\/code> \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0627\u06cc\u06a9 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0628\u0646\u0627\u0646\u0627\u060c \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0648 \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0627\u0644 \u06a9\u0631\u0646\u0627\u060c \u0627\u0648\u0631 \u0622\u0624\u0679 \u067e\u0679 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u0627\u06d4 \u06a9\u0648\u0626\u06cc \u0627\u0648\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u0634\u0627\u0645\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0648\u0631 \u06cc\u06c1 \u0645\u0641\u06cc\u062f \u06c1\u06d2 \u062c\u0628 \u0622\u067e \u06a9\u0648 \u0645\u062e\u062a\u0644\u0641 \u062d\u0627\u0644\u0627\u062a \u0645\u06cc\u06ba \u0633\u0644\u0633\u0644\u06c1 \u06a9\u06cc \u0645\u062e\u062a\u0644\u0641 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06d4 \u0627\u06cc\u06a9 \u062c\u0648\u0646\u06cc\u0626\u0631 \u0622\u0641\u06cc\u0633\u0631 \u0633\u0633\u0679\u0645 \u0645\u06cc\u06ba \u0622\u0641\u06cc\u0633\u0631 \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u0645\u0642\u0627\u0628\u0644\u06d2 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 \u0633\u0644\u0633\u0644\u06c1 \u06c1\u0648\u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u06c1\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0648 \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \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>\u0646\u0645\u0648\u0646\u0648\u06ba \u0633\u06d2 \u0628\u0686\u06cc\u06ba \u0627\u06af\u0631 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u06cc\u0627 \u062f\u0648 \u0686\u06cc\u06a9 \u06c1\u0648\u06ba\u06d4 \u0627\u06cc\u06a9 \u062a\u062c\u0631\u06cc\u062f\u06cc \u06a9\u0644\u0627\u0633 \u0627\u0648\u0631 \u0645\u062a\u0639\u062f\u062f \u06a9\u0646\u06a9\u0631\u06cc\u0679 \u06a9\u0644\u0627\u0633\u0632 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u0648\u0648\u0631 \u06c1\u06cc\u0688 \u0633\u0627\u062f\u06c1 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0628\u06be\u06cc \u0628\u06c1\u062a\u0631\u06cc\u0646 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u06af\u0631 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u06a9\u06d2 \u0645\u0631\u0627\u062d\u0644 \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628 \u0637\u06d2 \u06c1\u0648 \u0627\u0648\u0631 \u06a9\u0628\u06be\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1 \u06c1\u0648\u06d4 \u0627\u06af\u0631 \u0633\u0644\u0633\u0644\u06c1 \u06c1\u0645\u06cc\u0634\u06c1 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u0627 \u0631\u06c1\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0633\u0627\u062f\u06c1 \u0633\u06cc\u06a9\u0648\u06cc\u0646\u0634\u0646\u0644 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0627\u0644\u0632 \u0648\u0627\u0636\u062d \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u06d2 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u0648 \u0646\u062a\u0627\u0626\u062c \u0648\u0627\u067e\u0633 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648 \u062a\u0648 \u0627\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4 \u067e\u06cc\u0679\u0631\u0646 \u0628\u06c1\u062a\u0631\u06cc\u0646 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u06c1\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0622\u0632\u0627\u062f\u0627\u0646\u06c1 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631 B \u06a9\u0648 \u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u06a9\u06c1 \u06c1\u06cc\u0646\u0688\u0644\u0631 A \u0646\u06d2 \u06a9\u06cc\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u06cc\u0627\u060c \u062a\u0648 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u06c1 \u067e\u0631 \u063a\u0648\u0631 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0648\u0631 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u067e\u0686\u06be\u0644\u06d2 \u0646\u062a\u0627\u0626\u062c \u0633\u06d2 \u0642\u0637\u0639 \u0646\u0638\u0631 \u062a\u0645\u0627\u0645 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u06d2 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc \u0636\u0645\u0627\u0646\u062a \u062f\u06cc\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648 \u062a\u0648 \u06cc\u06c1 \u0627\u0686\u06be\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u062c\u0628 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06a9\u0627 \u0633\u0644\u0633\u0644\u06c1 \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u062a\u0645\u0627\u0645 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u06a9\u0648 \u06c1\u0631 \u0648\u0642\u062a \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062a\u0648\u060c \u0627\u06cc\u06a9 \u0645\u0688\u0644 \u0648\u06cc\u0626\u0631 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06cc\u0627 \u0688\u06cc\u06a9\u0648\u0631\u06cc\u0679\u0631 \u067e\u06cc\u0679\u0631\u0646 \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>\u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06a9\u0627 \u0633\u0644\u0633\u0644\u06c1 \u0627\u0633 \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0628\u0691\u06be\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0646\u0638\u0627\u0645 \u06a9\u0648 \u0628\u0627\u0644\u0622\u062e\u0631 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u0627 \u067e\u0691\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u062c\u0645\u0639 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06cc \u0645\u0646\u0637\u0642 \u067e\u06be\u06cc\u0644 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u062c\u0648 \u062f\u0633 \u0644\u0627\u0626\u0646\u0648\u06ba \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 \u0633\u0648 \u0644\u0627\u0626\u0646\u06cc\u06ba \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062d\u0627\u0644\u0627\u062a \u0627\u0646 \u0637\u0631\u06cc\u0642\u0648\u06ba \u0633\u06d2 \u062a\u0639\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0633\u06d2 \u0627\u0628 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u067e\u0648\u0631\u06cc \u0637\u0631\u062d \u0633\u06d2 \u0646\u06c1\u06cc\u06ba \u0633\u0645\u062c\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0648\u0626\u06cc \u0627\u0633\u06d2 \u0686\u06be\u0648\u0646\u0627 \u0646\u06c1\u06cc\u06ba \u0686\u0627\u06c1\u062a\u0627\u06d4<\/p>\n<p>\u067e\u06cc\u0679\u0631\u0646 \u0627\u06cc\u06a9 \u0631\u0627\u0633\u062a\u06c1 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba. \u06c1\u0631 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u06a9\u0627 \u0627\u067e\u0646\u0627 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u06cc \u0627\u06cc\u06a9 \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0648\u06c1 \u0627\u06cc\u06a9 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1\u06cc\u06ba \u0631\u06a9\u06cc\u06ba \u06cc\u0627 \u0622\u06af\u06d2\u06d4 \u0632\u0646\u062c\u06cc\u0631 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u067e\u0631\u062a \u067e\u0631 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0628\u0646\u062a\u06cc \u06c1\u06d2\u06d4 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u06cc \u0645\u0646\u0638\u0648\u0631\u06cc \u06a9\u06d2 \u0628\u06c1\u0627\u0624 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u062a\u0639\u0645\u06cc\u0644 \u0627\u0635\u0648\u0644 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0627\u06cc\u06a9 \u0646\u0626\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0644\u0627\u0633\u06d4 \u0622\u0646 \u0628\u0648\u0631\u0688\u0646\u06af \u0641\u0644\u0648 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u062a\u0635\u062f\u06cc\u0642\u06cc \u0645\u0631\u062d\u0644\u06c1 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0627\u06cc\u06a9 \u0646\u0626\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0644\u0627\u0633\u06d4 \u062f\u0648\u0646\u0648\u06ba \u0635\u0648\u0631\u062a\u0648\u06ba \u0645\u06cc\u06ba\u060c \u06a9\u0648\u0626\u06cc \u0627\u0648\u0631 \u0686\u06cc\u0632 \u0646\u06c1\u06cc\u06ba \u0628\u062f\u0644\u062a\u06cc\u06d4<\/p>\n<p>\u06cc\u06c1 \u0646\u0645\u0648\u0646\u06c1 \u06a9\u0627 \u0648\u0639\u062f\u06c1 \u06c1\u06d2\u06d4 \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u0636\u0627\u0641\u06d2 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0645\u06cc\u06ba \u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0644\u06af \u062a\u06be\u0644\u06af\u060c \u062c\u0627\u0646\u0686\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644\u060c \u0627\u0648\u0631 \u0628\u062f\u0644\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644\u06d4 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u0646\u0638\u0627\u0645 \u062c\u0648 \u0622\u067e \u06a9\u0648 \u06c1\u0631 \u0628\u0627\u0631 \u0632\u06cc\u0627\u062f\u06c1 \u0642\u0631\u0636 \u062c\u0645\u0639 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0646\u0626\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u0648 \u062c\u0630\u0628 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0637\u0631\u0632 \u0639\u0645\u0644 \u06a9\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0622\u067e \u06a9\u06d2 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u062a\u0646\u0638\u06cc\u0645 \u0627\u0648\u0631 \u062a\u0648\u0633\u06cc\u0639 \u067e\u0630\u06cc\u0631\u06cc \u06a9\u06cc \u0633\u0637\u062d \u0644\u0627\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u0645\u0644\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0633\u062a\u0642\u0628\u0644 \u0642\u0631\u06cc\u0628 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u06cc\u06d2 \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u0636\u0627\u0641\u06cc \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0648\u0688\u0646\u06af \u06a9\u0627 \u0645\u0632\u06c1 \u0644\u06cc\u06ba !!<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u06c1\u0631 \u0646\u0638\u0627\u0645\u060c \u06a9\u0633\u06cc \u0646\u06c1 \u06a9\u0633\u06cc \u0648\u0642\u062a\u060c \u0627\u0646 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u062a\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0646\u06c1\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0686\u06be\u0648\u0646\u0627 \u0646\u06c1\u06cc\u06ba \u0686\u0627\u06c1\u062a\u0627\u06d4 \u06cc\u06c1 \u0686\u06be\u0648\u0679\u0627 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0627\u062f\u06c1 \u062a\u0648\u062b\u06cc\u0642\u060c \u0627\u06cc\u06a9 \u0627\u06af\u0631 \u0628\u06cc\u0627\u0646 \u06cc\u06c1\u0627\u06ba\u060c \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u0628\u06cc\u0627\u0646\u06d4 \u067e\u06be\u0631 \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u0628\u0691\u06be\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0645\u0632\u06cc\u062f \u0634\u0631\u0627\u0626\u0637 \u0634\u0627\u0645\u0644 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0644\u0645\u0628\u06cc \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u06a9\u0633\u06cc \u0646\u06d2 \u0627\u06cc\u06a9 \u062a\u0628\u0635\u0631\u06c1 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0627: &quot;\u067e\u06c1\u0644\u06d2 [&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-28095","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/28095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/comments?post=28095"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/28095\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/media?parent=28095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/categories?post=28095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/tags?post=28095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}