{"id":37,"date":"2016-11-17T13:44:00","date_gmt":"2016-11-17T14:44:00","guid":{"rendered":"https:\/\/merfan.com\/fa\/?p=37"},"modified":"2023-05-12T22:35:14","modified_gmt":"2023-05-12T19:05:14","slug":"using-dagger-2-in-android-projects","status":"publish","type":"post","link":"https:\/\/merfan.com\/fa\/using-dagger-2-in-android-projects\/","title":{"rendered":"\u0634\u0631\u0648\u0639 \u06a9\u0627\u0631 \u0628\u0627 Dagger"},"content":{"rendered":"\n<p>\u062f\u0631&nbsp;<a href=\"https:\/\/merfan.com\/fa\/an-introduction-to-dagger\/\" data-type=\"post\" data-id=\"31\">\u0646\u0648\u0634\u062a\u0647 \u0642\u0628\u0644<\/a>&nbsp;\u0641\u0631\u06cc\u0645\u0648\u0631\u06a9 Dagger \u0631\u0627 \u0645\u0639\u0631\u0641\u06cc \u06a9\u0631\u062f\u0645 \u0648 \u062f\u0631\u0628\u0627\u0631\u06c0 \u0641\u0648\u0627\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0627\u0646\u062f\u06a9\u06cc \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0645. \u0627\u06af\u0631 \u0622\u0646 \u0645\u0637\u0644\u0628 \u0631\u0627 \u0646\u062e\u0648\u0627\u0646\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u0627\u0628\u062a\u062f\u0627 \u0622\u0646 \u0631\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0639\u062f \u0628\u0647 \u0647\u0645\u06cc\u0646 \u0646\u0648\u0634\u062a\u0647 \u0628\u0631\u06af\u0631\u062f\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dagger\">\u0627\u062c\u0632\u0627\u0621 Dagger<\/h2>\n\n\n\n<p>\u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0645\u0637\u0644\u0628&nbsp;<a href=\"https:\/\/merfan.com\/fa\/an-introduction-to-dagger\/\" data-type=\"post\" data-id=\"31\">\u00ab\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 Dagger\u00bb<\/a>&nbsp;\u0627\u0634\u0627\u0631\u0647 \u06a9\u0631\u062f\u0645\u060c \u062f\u0631 \u00ab\u062a\u0632\u0631\u06cc\u0642 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u00bb \u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0631\u0627 \u0628\u0631\u0622\u0648\u0631\u062f\u0647 \u06a9\u0646\u06cc\u0645. \u06a9\u0644\u0627\u0633&nbsp;<code>Phone<\/code>&nbsp;\u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0648\u0627\u0628\u0633\u062a\u0647 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f\u061b \u0628\u0631\u0627\u06cc \u062a\u0632\u0631\u06cc\u0642 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc Dagger \u0628\u0627\u06cc\u062f \u0628\u062f\u0627\u0646\u062f:<\/p>\n\n\n\n<p>\u06f1. \u06a9\u0644\u0627\u0633&nbsp;<code>Phone<\/code>&nbsp;\u0628\u0647 \u0686\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc\u06cc \u0648\u0627\u0628\u0633\u062a\u0647 \u0627\u0633\u062a\u061f<br>\u06f2. \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633&nbsp;<code>Phone<\/code>&nbsp;\u0628\u0647 \u0686\u0647 \u0634\u06a9\u0644\u06cc \u0628\u0627\u06cc\u062f \u062a\u0623\u0645\u06cc\u0646\/\u0627\u06cc\u062c\u0627\u062f \u0634\u0648\u0646\u062f\u061f<\/p>\n\n\n\n<p>\u0628\u0627 \u062f\u0631 \u0646\u0638\u0631 \u062f\u0627\u0634\u062a\u0646 \u0633\u0648\u0627\u0644\u0627\u062a \u0628\u0627\u0644\u0627\u060c \u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 \u0637\u0648\u0631 \u0627\u062c\u0645\u0627\u0644\u06cc \u0628\u0647 \u0627\u062c\u0632\u0627\u06cc Dagger \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645. \u0627\u06af\u0631 \u0628\u062e\u0634\u06cc \u0627\u0632 \u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0645\u062a\u0648\u062c\u0647 \u0646\u0634\u062f\u06cc\u062f \u062c\u0627\u06cc \u0646\u06af\u0631\u0627\u0646\u06cc \u0646\u06cc\u0633\u062a\u060c \u0628\u0647 \u062e\u0648\u0627\u0646\u062f\u0646 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f!<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Inject@<\/strong>: \u0628\u0647 \u0648\u0633\u06cc\u0644\u0647 \u0627\u06cc\u0646 annotation\u060c \u0645\u0627 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0631\u0627 \u0628\u0647 Dagger \u0645\u0639\u0631\u0641\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0648\u0642\u062a\u06cc Dagger \u0628\u0647 \u0639\u0644\u0627\u0645\u062a Inject@ \u0645\u06cc\u200c\u0631\u0633\u062f\u060c \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 \u0631\u0627 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0647\u062f\u0641 \u0627\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 annotaion\u060c \u062f\u0631 \u0648\u0627\u0642\u0639 \u067e\u0627\u0633\u062e \u062f\u0627\u062f\u0646 \u0628\u0647 \u067e\u0631\u0633\u0634 \u06f1 \u0645\u06cc\u200c\u0628\u0627\u0634\u062f.<\/li>\n\n\n\n<li><strong>Provides@<\/strong>: \u0648\u0642\u062a\u06cc \u06a9\u0647 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 \u06cc\u06a9 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0631\u0627 \u062a\u0623\u0645\u06cc\u0646 \u06a9\u0646\u06cc\u0645\u060c \u0627\u0632 Provides@ \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0647\u0631 \u0645\u062a\u0648\u062f\u06cc \u06a9\u0647 \u0628\u0627 Provides@ \u0639\u0644\u0627\u0645\u062a \u0632\u062f\u0647 \u0634\u0648\u062f\u060c \u0628\u0647 Dagger \u0627\u0639\u0644\u0627\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0642\u0627\u062f\u0631 \u0627\u0633\u062a \u06cc\u06a9 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062e\u0627\u0635 \u0631\u0627 \u062a\u0623\u0645\u06cc\u0646 \u0646\u0645\u0627\u06cc\u062f. \u062f\u0631\u0648\u0646 \u0627\u06cc\u0646 \u0645\u062a\u0648\u062f\u060c \u0645\u0627 \u062a\u0635\u0645\u06cc\u0645 \u0645\u06cc\u200c\u06af\u06cc\u0631\u06cc\u0645 \u06a9\u0647 \u0628\u0647 \u0634\u06cc\u0648\u0647 \u062f\u0644\u062e\u0648\u0627\u0647\u0645\u0627\u0646\u060c \u0634\u06cc\u0621 \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 \u0648 \u062f\u0631 \u0648\u0627\u0642\u0639 \u0628\u0647 \u0646\u0648\u0639\u06cc \u0628\u0647 \u067e\u0631\u0633\u0634 \u06f2 \u067e\u0627\u0633\u062e \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645.<\/li>\n\n\n\n<li><strong>Module@<\/strong>: \u0645\u062a\u0640\u0648\u062f\u0647\u0627\u06cc \u062a\u0640\u0623\u0645\u06cc\u0646\u200c\u06a9\u0646\u0646\u0640\u0640\u062f\u0647 (Provides@)\u060c \u0628\u0627\u06cc\u0640\u0640\u062f \u062f\u0631\u0648\u0646 \u06a9\u0644\u0627\u0633\u0640\u0640\u06cc \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u0646\u0640\u0640\u0640\u062f \u06a9\u0647 \u0628\u0627 Module@ \u0639\u0644\u0627\u0645\u062a \u0632\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u062f\u0631 \u06cc\u06a9 \u0645\u0627\u0698\u0648\u0644\u060c \u0645\u0627 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0627\u0634\u06cc\u0627\u0626\u06cc \u0631\u0627 \u062a\u0623\u0645\u06cc\u0646 (Provides@) \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0628\u0647 \u0646\u0648\u0639\u06cc \u0628\u0647 \u0647\u0645 \u0627\u0631\u062a\u0628\u0627\u0637 \u062f\u0627\u0631\u0646\u062f \u0648 \u06cc\u06a9 \u0645\u062c\u0645\u0648\u0639\u0647 \u0645\u0639\u0646\u0627\u062f\u0627\u0631 \u0631\u0627 \u0645\u06cc\u200c\u0633\u0627\u0632\u0646\u062f.<\/li>\n\n\n\n<li><strong>Component@<\/strong>&nbsp;\u0627\u06a9\u0646\u0648\u0646 Dagger \u0647\u0645 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0631\u0627 \u0645\u06cc\u200c\u0634\u0646\u0627\u0633\u062f \u0648 \u062a\u0623\u0645\u06cc\u0646\u200c\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627. \u0641\u0642\u0637 \u062c\u0627\u06cc \u06cc\u06a9 \u062c\u0632\u0621 \u062f\u06cc\u06af\u0631 \u062e\u0627\u0644\u06cc \u0627\u0633\u062a\u061b \u062c\u0632\u0626\u06cc \u06a9\u0647 \u062f\u0633\u062a \u062a\u0623\u0645\u06cc\u0646\u200c\u06a9\u0646\u0646\u062f\u0647 \u0631\u0627 \u062f\u0631 \u062f\u0633\u062a \u06a9\u0644\u0627\u0633 \u0648\u0627\u0628\u0633\u062a\u0647 \u0628\u06af\u0630\u0627\u0631\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627 (Component@) \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f. \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627 \u0628\u06cc\u0646 Inject@ \u0648 Module@ \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u06a9\u0631\u062f\u0647 \u0648 \u0639\u0645\u0644 \u062a\u0632\u0631\u06cc\u0642 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f.<\/li>\n<\/ul>\n\n\n\n<p>\u0631\u0627\u0633\u062a\u0634\u060c \u0645\u0646 \u062e\u0648\u062f\u0645 \u0647\u0645 \u0647\u06cc\u0686 \u0639\u0644\u0627\u0642\u0647\u200c\u0627\u06cc \u0646\u062f\u0627\u0631\u0645 \u06a9\u0647 \u0627\u06cc\u0646 \u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0626\u0648\u0631\u06cc\u06a9 \u0631\u0627 \u0627\u062f\u0627\u0645\u0647 \u0628\u062f\u0647\u0645. \u0627\u0645\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u06a9\u0627\u0631\u060c \u0628\u062f \u0646\u06cc\u0633\u062a \u062f\u0631\u0628\u0627\u0631\u0647 \u06cc\u06a9 \u0645\u0648\u0631\u062f \u062f\u06cc\u06af\u0631 \u0647\u0645 \u0635\u062d\u0628\u062a \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Singleton@<\/strong>: \u06a9\u0627\u0631\u0628\u0631\u062f \u0627\u06cc\u0646 \u06cc\u06a9 \u0645\u0648\u0631\u062f \u062f\u06cc\u06af\u0631 \u062e\u06cc\u0644\u06cc \u0648\u0627\u0636\u062d \u0627\u0633\u062a\u061b \u0648\u0642\u062a\u06cc \u06a9\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0627\u0646\u0648\u062a\u06cc\u0634\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0645\u0646\u0638\u0648\u0631\u0645\u0627\u0646 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0641\u0642\u0637 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u0634\u06cc\u0621 \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0633\u0627\u062e\u062a\u0647 \u0634\u0648\u062f. Dagger \u0647\u0645 \u0648\u0627\u0642\u0639\u0627\u064b \u0641\u0642\u0637 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u0627\u0634\u06cc\u0627\u0621 Singleton \u0645\u06cc\u200c\u0633\u0627\u0632\u062f\u060c \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644 \u0627\u06cc\u0646\u200c\u06a9\u0647 \u0686\u0647\u200c\u0637\u0648\u0631 \u0627\u0632 \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0627\u0647\u0645\u06cc\u062a \u0632\u06cc\u0627\u062f\u06cc \u062f\u0627\u0631\u062f! \u0647\u0631 \u0634\u06cc\u0621 Singleton\u060c \u0641\u0642\u0637 \u062f\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a (\u06af\u0631\u0627\u0641 \u0627\u0634\u06cc\u0627\u0621) \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u062e\u0648\u062f Singleton \u0627\u0633\u062a. \u06cc\u0639\u0646\u06cc \u0627\u06af\u0631 \u0645\u0627 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0623\u0645\u06cc\u0646 \u06a9\u0631\u062f\u0646 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u06cc\u06a9 Fragment \u0628\u0633\u0627\u0632\u06cc\u0645 \u0648 \u062f\u0631 \u0622\u0646 \u0627\u0632 Singleton@ \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0634\u06cc\u0621 \u0645\u0648\u0631\u062f\u0646\u0638\u0631\u0645\u0627\u0646 \u062f\u0631\u0648\u0646 \u0622\u0646 Fragment \u00ab\u06cc\u06a9\u062a\u0627\u00bb \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f. \u062f\u0631\u06a9 \u062f\u0642\u06cc\u0642 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0634\u0645\u0627 \u0631\u0627 \u0627\u0632 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0627\u0628\u0647\u0627\u0645\u0627\u062a \u062e\u0644\u0627\u0635 \u06a9\u0646\u062f.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dagger\">\u0628\u0647 \u06a9\u0627\u0631\u06af\u06cc\u0631\u06cc Dagger<\/h2>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 \u0627\u062c\u0632\u0627\u06cc \u0627\u0635\u0644\u06cc Dagger\u060c \u0648\u0642\u062a \u0622\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0648\u0627\u0631\u062f \u0639\u0645\u0644 \u0628\u0634\u0648\u06cc\u0645.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc<\/h3>\n\n\n\n<p>\u0627\u0628\u062a\u062f\u0627 \u062e\u0637 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0628\u0647 \u0641\u0627\u06cc\u0644 build.gradle \u0627\u0635\u0644\u06cc (\u0631\u06cc\u0634\u0647) \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dependencies {  \n     \/\/ other classpath definitions here\n     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'\n}<\/code><\/pre>\n\n\n\n<p>\u200d\u200d\u200d\u200d\u200d\u200d\u200d\u200d \u0633\u067e\u0633 \u062e\u0637 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 app\/build.gradle \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u067e\u0644\u0627\u06af\u06cc\u0646\u06cc \u06a9\u0647 \u062f\u0631 \u0628\u0627\u0644\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u06cc\u062f\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apply plugin: 'com.neenbedankt.android-apt'  <\/code><\/pre>\n\n\n\n<p>\u200d\u200d\u200d\u200d\u200d\u200d\u200d\u200d \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0647\u0645 \u0628\u0647 \u0641\u0627\u06cc\u0644 app\/build.gradle \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u062e\u0637\u0648\u0637 \u0628\u0627\u06cc\u062f \u0628\u0639\u062f \u0627\u0632 \u0639\u0628\u0627\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0627 apply \u0634\u0631\u0648\u0639 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0628\u06cc\u0627\u06cc\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dependencies {  \n    apt 'com.google.dagger:dagger-compiler:2.7'\n    compile 'com.google.dagger:dagger:2.7'\n    provided 'javax.annotation:jsr250-api:1.0'\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0645\u062b\u0627\u0644<\/h3>\n\n\n\n<p>\u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631 \u0627\u0632 \u06a9\u0644\u0627\u0633&nbsp;<code>MainActivity<\/code>&nbsp;\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u06a9\u062f \u0628\u062f\u0648\u0646 \u0628\u0647\u0631\u0647\u200c\u06af\u06cc\u0631\u06cc \u0627\u0632 DI \u06cc\u0627 \u062a\u0632\u0631\u06cc\u0642 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private void initialize(){  \n    netThreadPool = Application.getNetThreadPool();\n    bgThreadPool = Application.getNetThreadPool();\nphotoManager =  \n new PhotoManager(getActivity(), \nnetThreadPool, bgThreadPool);\n\n    imageLoader = new ImageLoader(getActivity(), photoManager);\n\n    gson = new GsonBuilder().create();\n    converterFactory = GsonConverterFactory.create(gson);\n}\n<\/code><\/pre>\n\n\n\n<p>\u0628\u0647 \u06a9\u0645\u06a9 DI \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc\u06cc (\u0627\u0634\u06cc\u0627\u0626\u06cc) \u06a9\u0647 \u062f\u0631 \u0645\u062b\u0627\u0644 \u0628\u0627\u0644\u0627 \u0645\u06cc\u200c\u0628\u06cc\u0646\u06cc\u062f\u060c \u067e\u0631\u0647\u06cc\u0632 \u06a9\u0631\u062f. \u0628\u0647 \u0628\u06cc\u0627\u0646 \u0628\u0647\u062a\u0631\u060c&nbsp;<code>MainActivity<\/code>&nbsp;\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u0647\u0645\u0647 \u0627\u062a\u0641\u0627\u0642\u0627\u062a \u0628\u0627\u0644\u0627\u060c \u0628\u06cc\u200c\u062e\u0628\u0631 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u0627\u0648\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u0645 \u06cc\u0627 \u062a\u0623\u0645\u06cc\u0646\u200c\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0631\u0627 \u061f<\/h4>\n\n\n\n<p>\u067e\u0627\u0633\u062e \u0645\u0634\u062e\u0635\u06cc \u0628\u0631\u0627\u06cc \u067e\u0631\u0633\u0634 \u0628\u0627\u0644\u0627 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f. \u0647\u0631 \u0637\u0648\u0631 \u06a9\u0647 \u0631\u0627\u062d\u062a \u0647\u0633\u062a\u06cc\u062f \u0645\u0639\u0645\u0627\u0631\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u062a\u0627\u0646 \u0631\u0627 \u0637\u0631\u0627\u062d\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0639\u062f \u0628\u062e\u0634\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632 \u0631\u0627 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f. \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0645\u0646 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u0645\u060c \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0645\u0631\u062d\u0644\u0647 \u06f1: \u0627\u0628\u062a\u062f\u0627 \u0645\u0627\u0698\u0648\u0644\u06cc \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u06a9\u0647 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u062a\u0623\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f<\/li>\n\n\n\n<li>\u0645\u0631\u062d\u0644\u0647 \u06f2: \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u06a9\u0646\u0645 (\u0627\u0647\u062f\u0627\u0641 \u062a\u0632\u0631\u06cc\u0642)<\/li>\n\n\n\n<li>\u0645\u0631\u062d\u0644\u0647 \u06f3: \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u06cc \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u06a9\u0647 \u0639\u0645\u0644 \u062a\u0632\u0631\u06cc\u0642 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u062f<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"singleton\">\u0645\u0631\u062d\u0644\u0647 \u06f1: singleton\u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc<\/h4>\n\n\n\n<p>\u062f\u0631 \u0627\u0628\u062a\u062f\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 Dagger\u060c \u0628\u0647 \u0633\u0631\u0627\u063a&nbsp;<em>singleton\u0647\u0627\u06cc\u0650 \u0648\u0627\u0642\u0639\u06cc<\/em>&nbsp;\u0645\u06cc\u200c\u0631\u0648\u06cc\u0645. \u0645\u0646\u0638\u0648\u0631 \u0645\u0646 \u0627\u0632&nbsp;<em>singleton\u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc<\/em>\u060c \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u06cc\u0627 \u0627\u0634\u06cc\u0627\u0626\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0641\u0642\u0637 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u062f\u0631 \u06a9\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f. \u0645\u062b\u0644\u0627\u064b \u0627\u06af\u0631 \u0642\u0631\u0627\u0631 \u0628\u0627\u0634\u062f \u062a\u0645\u0627\u0645\u06cc \u06a9\u0627\u0631\u0647\u0627\u06cc \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u0631\u0627 \u062a\u0648\u0633\u0637 \u06cc\u06a9 Thread \u06cc\u0627 \u0631\u06cc\u0633\u0647 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645 \u0648 \u0647\u0645\u0647 Activity\u0647\u0627 \u0628\u0647 \u0622\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0646\u062f\u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u06cc\u0633\u0647 \u0631\u0627 \u0628\u0627 \u0686\u0631\u062e\u0647\u0654 \u062d\u06cc\u0627\u062a Application \u06af\u0631\u0647 \u0628\u0632\u0646\u06cc\u0645. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 AppModule \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645 \u0648 \u062f\u0631 \u0622\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u062a\u0623\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 singleton \u0648\u0627\u0642\u0639\u06cc \u0647\u0633\u062a\u0646\u062f.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Module\npublic class AppModule{\n\n  Application app;\n  public AppModule(Application app) {\n      this.app = app;\n  }\n\n  @Provides @Singleton\n  FontCache provideFontCache() {\n    return new FontCache(app);\n  }\n\n  @Provides @Singleton @Named(\"Network\")\n  ExecutorService provideNetThreadPool() {\n     return Executors.newSingleThreadExecutor();\n  }\n\n  @Provides @Singleton @Named(\"Background\")\n  ExecutorService provideBgThreadPool() {\n    return Executors.newSingleThreadExecutor();\n  }\n\n  @Provides @Singleton\n  PhotoManager providePhotoManager(@Named(\"Network\") ExecutorService network,@Named(\"Background\") ExecutorService background) {\n    return new PhotoManager(app.getApplicationContext(), network, background);\n  }\n\n\u22ee\n}<\/code><\/pre>\n\n\n\n<p>\u0645\u062a\u0648\u062f\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u062f\u0644\u062e\u0648\u0627\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0646\u0627\u0645\u200c\u06af\u0630\u0627\u0631\u06cc \u06a9\u0631\u062f. \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0627\u0647\u0645\u06cc\u062a \u062f\u0627\u0631\u062f\u060c \u0646\u0648\u0639 \u062f\u0627\u062f\u0647\u200c\u0627\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u062a\u0648\u062f\u0647\u0627 \u0628\u0631 \u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u0646\u062f. Dagger \u0628\u0627 \u062a\u0648\u062c\u0647 \u0628\u0647 \u062f\u0627\u062f\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u062a\u0634\u062e\u06cc\u0635 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0647\u0631 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0631\u0627 \u0628\u0647 \u0648\u0633\u06cc\u0644\u0647 \u0686\u0647 \u0645\u062a\u0648\u062f\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062a\u0623\u0645\u06cc\u0646 \u06a9\u0646\u062f.<\/p>\n\n\n\n<p>\u06af\u0627\u0647\u06cc \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u062f\u0631 \u06cc\u06a9 \u0645\u0627\u0698\u0648\u0644\u060c \u0686\u0646\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0631\u0627 \u062a\u0623\u0645\u06cc\u0646 \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0627\u0632 \u06cc\u06a9 \u0646\u0648\u0639\u0650 \u0648\u0627\u062d\u062f \u0647\u0633\u062a\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0634\u0631\u0627\u06cc\u0637\u060c Dagger \u0628\u0631\u0627\u06cc \u062a\u0623\u0645\u06cc\u0646 \u06a9\u0631\u062f\u0646 \u06cc\u06a9 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u060c \u062f\u0686\u0627\u0631 \u0633\u0631\u062f\u0631\u06af\u0645\u06cc \u062e\u0648\u0627\u0647\u062f \u0634\u062f. \u0645\u062b\u0644\u0627\u064b \u062f\u0631 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0628\u0627\u0644\u0627\u060c \u0647\u0631 \u062f\u0648 \u0645\u062a\u0648\u062f&nbsp;<code>provideNetThreadPool<\/code>&nbsp;\u0648&nbsp;<code>provideBgThreadPool<\/code>\u060c \u06cc\u06a9 \u0634\u06cc\u0621 \u0627\u0632 \u0646\u0648\u0639&nbsp;<code>ExecutorService<\/code>&nbsp;\u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u0646\u062f. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062e\u0627\u0637\u0631 \u0645\u0627 \u0627\u0632 \u06cc\u06a9 \u0627\u0646\u0648\u062a\u06cc\u0634\u0646 \u062a\u0648\u0635\u06cc\u0641\u200c\u06a9\u0646\u0646\u062f\u0647 (Qualifier) \u0628\u0647 \u0646\u0627\u0645 Named@ \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645. \u0648\u0642\u062a\u06cc \u06a9\u0647 Dagger \u0628\u062e\u0648\u0627\u0647\u062f \u06cc\u06a9 \u0634\u06cc\u0621&nbsp;<code>PhotoManager<\/code>&nbsp;\u0628\u0633\u0627\u0632\u062f\u060c \u0628\u0647 \u0633\u0631\u0627\u063a \u0645\u062a\u0648\u062f&nbsp;<code>providePhotoManager<\/code>&nbsp;\u0645\u06cc\u200c\u0631\u0648\u062f. \u062f\u0648 \u0627\u0646\u0648\u062a\u06cc\u0634\u0646 (&#8220;Named(&#8220;Background@ \u0648 (&#8220;Named(&#8220;Network@ \u0628\u0647 Dagger \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u062a\u0623\u0645\u06cc\u0646 \u06a9\u0631\u062f\u0646 \u0647\u0631 \u06cc\u06a9 \u0627\u0632 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u060c \u0628\u0627\u06cc\u062f \u0628\u0647 \u0633\u0631\u0627\u063a \u06a9\u062f\u0627\u0645 \u0645\u062a\u0648\u062f \u0628\u0631\u0648\u062f.<\/p>\n\n\n\n<p>\u0627\u06af\u0631 \u0628\u06cc\u0634\u200c\u062a\u0631 \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0627\u062a\u0641\u0627\u0642\u0627\u062a \u062c\u0627\u0644\u0628\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0631\u062e \u062f\u0627\u062f\u0646 \u0627\u0633\u062a. \u062f\u0648 \u0645\u062a\u0648\u062f&nbsp;<code>provideNetThreadPool<\/code>&nbsp;\u0648 \u200d<code>provideBgThreadPool<\/code>&nbsp;\u062f\u0631 \u0645\u0627\u0698\u0648\u0644 \u0628\u0627\u0644\u0627\u060c \u0641\u0639\u0644\u0627\u064b \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0627\u062e\u0644\u06cc \u062f\u0627\u0631\u0646\u062f \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u0645\u062a\u0648\u062f&nbsp;<code>providePhotoManager\u200d<\/code>&nbsp;\u0631\u0627 \u062a\u0623\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f (\u0647\u0646\u0648\u0632 \u0648\u0627\u0631\u062f \u0645\u0631\u062d\u0644\u0647 \u06f3 \u0646\u0634\u062f\u0647\u200c\u0627\u06cc\u0645). Dagger \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631\u060c \u062a\u0631\u062a\u06cc\u0628 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0646 \u06af\u0631\u0627\u0641 \u0627\u0634\u06cc\u0627\u0621 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<p><strong>\u0646\u06a9\u062a\u0647:<\/strong>&nbsp;Named@ \u06cc\u06a9 \u0627\u0646\u0648\u062a\u06cc\u0634\u0646 \u062a\u0648\u0635\u06cc\u0641 \u06a9\u0646\u0646\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u062f\u0631 Dagger \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0646\u0648\u062a\u06cc\u0634\u0646 Qualifier@\u060c \u0627\u0646\u0648\u062a\u06cc\u0634\u0646\u200c\u0647\u0627\u06cc \u062a\u0648\u0635\u06cc\u0641\u200c\u062f\u0647\u0646\u062f\u0647 \u062f\u0644\u062e\u0648\u0627\u0647 \u062e\u0648\u062f\u062a\u0627\u0646 \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f (\u062f\u0631 \u0627\u06cc\u0646\u200c\u062c\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0646\u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u0645).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u0645\u0631\u062d\u0644\u0647 \u06f2: \u0627\u0647\u062f\u0627\u0641 \u062a\u0632\u0631\u06cc\u0642<\/h4>\n\n\n\n<p>\u0628\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0631\u062f\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u060c \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0628\u0647 Dagger \u0628\u06af\u0648\u06cc\u06cc\u0645 \u06a9\u062f\u0627\u0645 \u0642\u0633\u0645\u062a \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u0645\u0627\u0698\u0648\u0644\u06cc \u06a9\u0647 \u0646\u0648\u0634\u062a\u06cc\u0645 \u0627\u062d\u062a\u06cc\u0627\u062c \u062f\u0627\u0631\u062f.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  public class MainActivity extends Activity {\n    @Inject @Named(\"Network\")\n    ExecutorService mNetwork;\n    @Inject \n    PhotoManager mPhotoManager;\n\npublic void onCreate(Bundle savedInstance) {  \n     \/\/ assign singleton instances to fields\n     InjectorClass.inject(this);\n  } \n    \u22ee\n}<\/code><\/pre>\n\n\n\n<p>\u06a9\u0644\u0627\u0633&nbsp;<code>MainActivity<\/code>\u200c \u062f\u0631 \u0627\u06cc\u0646\u200c\u062c\u0627 \u062f\u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f. \u0628\u0627\u0632 \u0647\u0645 \u0627\u0632 \u062a\u0648\u0635\u06cc\u0641\u200c\u06a9\u0646\u0646\u062f\u0647 (&#8220;Named(&#8220;Network@ \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645 \u062a\u0627 Dagger \u0645\u062a\u0648\u062f&nbsp;<code>provideNetThreadPool<\/code>&nbsp;\u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u062f.<\/p>\n\n\n\n<p>\u0627\u06af\u0631\u0686\u0647 Dagger \u062d\u0627\u0644\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0627\u0647\u062f\u0627\u0641 \u062a\u0632\u0631\u06cc\u0642 \u0631\u0627 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u06a9\u0646\u062f\u060c \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644 \u0627\u0632 \u0622\u0646 \u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u06a9\u0644\u0627\u0633&nbsp;<code>MainActivity<\/code>&nbsp;\u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0631\u062f (\u0627\u06cc\u0646 \u06a9\u0644\u0627\u0633 \u062a\u0648\u0633\u0637 \u0633\u06cc\u0633\u062a\u0645\u200c\u0639\u0627\u0645\u0644 \u0633\u0627\u062e\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f)\u060c \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f&nbsp;<code>mNetwork<\/code>&nbsp;\u0648&nbsp;<code>mPhotoManager<\/code>&nbsp;\u0631\u0627 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u06a9\u0646\u062f. \u062a\u0632\u0631\u06cc\u0642 \u06cc\u0627 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0648\u0638\u06cc\u0641\u0647 \u06cc\u06a9 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0627\u0633\u062a.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"component\">\u0645\u0631\u062d\u0644\u0647 \u06f3: \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 Component<\/h4>\n\n\n\n<p>\u0628\u062f\u0648\u0646 \u062a\u0648\u0636\u06cc\u062d \u0627\u0636\u0627\u0641\u0647\u060c \u0628\u0647 \u0633\u0631\u0627\u063a \u0646\u0648\u0634\u062a\u0646 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0645\u06cc\u200c\u0631\u0648\u06cc\u0645.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Singleton\n@Component(modules={AppModule.class})\npublic interface AppComponent {  \n   void inject(MainActivity activity);\n}<\/code><\/pre>\n\n\n\n<p>\u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0627\u0628\u062a\u062f\u0627\u06cc \u0646\u0648\u0634\u062a\u0647 \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0645\u060c \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627 \u067e\u0644 \u0627\u0631\u062a\u0628\u0627\u0637\u06cc \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0647\u0633\u062a\u0646\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0639\u0628\u0627\u0631\u062a {modules={AppModule.class\u060c \u06cc\u06a9 \u0637\u0631\u0641\u0650 \u0627\u06cc\u0646 \u067e\u0644 \u0628\u0647 \u0645\u0627\u0698\u0648\u0644 \u0645\u0648\u0631\u062f\u0646\u0638\u0631 \u0645\u0627 \u0648\u0635\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u062f\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628 \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0642\u0631\u0627\u0631 \u0627\u0633\u062a \u0627\u0634\u06cc\u0627\u0621 \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u062f\u0627\u0645 \u0645\u0627\u0698\u0648\u0644 \u0627\u06cc\u062c\u0627\u062f \u0634\u0648\u0646\u062f. \u0637\u0631\u0641 \u062f\u06cc\u06af\u0631 \u0627\u06cc\u0646 \u067e\u0644\u060c \u06a9\u0644\u0627\u0633&nbsp;<code>MainActivity<\/code>&nbsp;\u0627\u0633\u062a \u06a9\u0647 \u0642\u0635\u062f \u062f\u0627\u0634\u062a\u06cc\u0645 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631\u0648\u0646 \u0622\u0646 \u062a\u0632\u0631\u06cc\u0642 \u06a9\u0646\u06cc\u0645. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0645\u062a\u0648\u062f\u06cc \u0628\u0647 \u0646\u0627\u0645 inject \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645 \u06a9\u0647 \u06cc\u06a9 \u0648\u0631\u0648\u062f\u06cc \u0627\u0632 \u0646\u0648\u0639&nbsp;<code>MainActivity\u200d<\/code>&nbsp;\u0645\u06cc\u200c\u067e\u0630\u06cc\u0631\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u06a9\u0646\u0627\u0631 \u0647\u0645 \u0686\u06cc\u062f\u0646 \u062a\u06a9\u0647\u200c\u0647\u0627\u06cc \u067e\u0627\u0632\u0644<\/h3>\n\n\n\n<p>\u0645\u0627 \u0647\u0645\u0647 \u0627\u062c\u0632\u0627\u0621 \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632 Dagger \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645. \u062d\u0627\u0644\u0627 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0631\u0627 Rebuild \u06a9\u0646\u06cc\u062f \u062a\u0627 Dagger \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632 \u0645\u0627 \u0631\u0627 \u062a\u0648\u0644\u06cc\u062f (generate) \u06a9\u0646\u062f. \u0645\u0627 AppComponent\u200c \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u06cc\u06a9 interface \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647 \u0628\u0648\u062f\u06cc\u0645. \u0628\u0639\u062f \u0627\u0632 build \u0634\u062f\u0646 \u067e\u0631\u0648\u0698\u0647\u060c \u06a9\u0644\u0627\u0633\u06cc \u0628\u0627 \u0646\u0627\u0645 DaggerAppComponent \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0645\u0627 \u0642\u0631\u0627\u0631 \u062e\u0648\u0627\u0647\u062f \u06af\u0631\u0641\u062a (\u0627\u06cc\u0646 \u06a9\u0644\u0627\u0633 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u0648\u0633\u0637 Dagger\u200c \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u0634\u0648\u062f). Dagger \u062f\u0631 \u0648\u0627\u0642\u0639 \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633\u0650 AppComponent \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc (implement) \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0631\u0627\u06cc \u0646\u0627\u0645\u200c\u06af\u0630\u0627\u0631\u06cc\u060c \u0648\u0627\u0698\u0647\u0654&nbsp;<em>Dagger<\/em>&nbsp;\u0631\u0627 \u0628\u0647 \u0627\u0628\u062a\u062f\u0627\u06cc \u0646\u0627\u0645 \u06a9\u0644\u0627\u0633 \u0645\u06cc\u200c\u0686\u0633\u0628\u0627\u0646\u062f.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0644\u0627\u0633 (\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a) \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647<\/h4>\n\n\n\n<p>\u0647\u062f\u0641 \u0645\u0627 \u0627\u0632 \u0633\u0627\u062e\u062a\u0646 AppModule\u060c \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0646 singleton\u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u0628\u0648\u062f. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062e\u0627\u0637\u0631 \u0628\u0627\u06cc\u062f \u062f\u0631 \u062c\u0627\u06cc\u06cc \u0627\u0632 DaggerAppComponet \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u062f\u0631 \u062a\u0645\u0627\u0645 \u0686\u0631\u062e\u0647\u0654 \u0639\u0645\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u060c \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<p>\u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u06a9\u0644\u0627\u0633\u06cc \u0631\u0627 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0644\u0627\u0633\u0650 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 Application \u06a9\u0646\u06cc\u0645 \u0648 \u062f\u0627\u062e\u0644 \u0622\u0646 \u06a9\u0644\u0627\u0633\u060c \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u0646\u0645\u0627\u06cc\u06cc\u0645. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 AndroidManifest.xml \u0631\u0627 \u0628\u062f\u06cc\u0646 \u0634\u06a9\u0644 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u22ee\n&lt;application  \n      android:name=\".MyApplication\"\n\u22ee<\/code><\/pre>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u06a9\u0644\u0627\u0633&nbsp;<code>MyApplication<\/code>&nbsp;\u0631\u0627 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 \u062f\u0631\u0648\u0646 \u0622\u0646\u060c \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class MyApplication extends Application {\n\n  private AppComponent mAppComponent;\n\n  @Override\n  public void onCreate() {\n    super.onCreate();\n\n    mAppComponent = DaggerAppComponent.builder()\n      .appModule(new AppModule(this)) \n      .build();\n    }\n\n    public AppComponent getComponent() {\n       return mAppComponent;\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc\u200c\u0628\u06cc\u0646\u06cc\u062f \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u060c \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u062e\u0634\u06cc \u0627\u0632 \u0622\u0646 \u0647\u0633\u062a\u0646\u062f (\u062f\u0631 \u0627\u06cc\u0646\u200c\u062c\u0627 AppModule) \u0646\u06cc\u0632 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0634\u0648\u0646\u062f. \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0645\u062a\u0648\u062f build\u060c \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0645\u0648\u0631\u062f\u0646\u0638\u0631 \u0645\u0627 \u0631\u0627 \u0645\u06cc\u200c\u0633\u0627\u0632\u062f.<\/p>\n\n\n\n<p>\u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u0627 \u062f\u0631 \u0627\u06cc\u0646\u200c\u062c\u0627 \u0645\u062a\u0648\u062f \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0646\u0627\u0645 ()getComponent \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645. \u062f\u0631 \u0628\u062e\u0634 \u0628\u0639\u062f \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0645\u062a\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0632\u0631\u06cc\u0642 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc<\/h4>\n\n\n\n<p>\u0647\u0645\u0647\u200c\u0686\u06cc\u0632 \u0622\u0645\u0627\u062f\u0647 \u0627\u0633\u062a\u061b \u062c\u0632 \u0627\u06cc\u0646\u200c\u06a9\u0647 \u0628\u0627\u06cc\u062f \u0628\u0647 DaggerAppComponent \u0627\u06cc\u0646 \u0641\u0631\u0635\u062a \u0631\u0627 \u0628\u062f\u0647\u06cc\u0645 \u062a\u0627 \u062a\u0632\u0631\u06cc\u0642 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u062f (Dagger \u0647\u0646\u0648\u0632 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u062f\u0631&nbsp;<code>MainActivity<\/code>&nbsp;\u0631\u0627 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u06a9\u0646\u062f). \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u06cc\u06a9 \u062e\u0637 \u0628\u0647&nbsp;<code>MainActivity<\/code>&nbsp;\u06a9\u0627\u0631 \u0631\u0627 \u062a\u0645\u0627\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public void onCreate(){  \n  ((MyApplication) getApplication()).getComponent().inject(this);\n}<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"singletonsingleton\">singleton\u0647\u0627\u06cc \u0646\u0647\u200c\u0686\u0646\u062f\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc (singleton\u0647\u0627\u06cc \u0645\u062d\u0644\u06cc)<\/h4>\n\n\n\n<p>\u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 \u06cc\u06a9 \u0634\u06cc\u0621 \u062f\u0631 \u0686\u0631\u062e\u0647\u0654 \u062d\u06cc\u0627\u062a \u06cc\u06a9 Fragment \u06cc\u06a9\u062a\u0627 \u06cc\u0627 singleton \u0628\u0627\u0634\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u062f\u06cc\u06af\u0631\u06cc \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645 \u0648 \u0628\u0647 \u062c\u0627\u06cc&nbsp;<code>MyApplication<\/code>\u060c \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0647\u0631 Fragment\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645. \u0628\u062f\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628 \u0686\u0646\u062f&nbsp;<em>singleton \u0646\u0647\u200c\u0686\u0646\u062f\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc<\/em>&nbsp;\u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u062f (\u0627\u06af\u0631 \u0686\u0646\u062f Fragment\u200c \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645\u060c \u062f\u0631 \u0647\u0631 Fragment \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0645\u062a\u0645\u0627\u06cc\u0632 \u0627\u0632 \u0622\u0646 \u0634\u06cc\u0621 \u0633\u0627\u062e\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f). \u0627\u06cc\u0646 singleton\u0647\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u062d\u062f\u0648\u062f\u0647\u0654 \u0645\u0634\u062e\u0635 \u06cc\u06a9\u062a\u0627 \u0647\u0633\u062a\u0646\u062f.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"singleton\">\u0686\u0637\u0648\u0631 singleton\u0647\u0627\u06cc \u0645\u062d\u0644\u06cc \u0631\u0627 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u06a9\u0646\u06cc\u0645\u061f<\/h5>\n\n\n\n<p>\u0627\u0646\u0648\u062a\u06cc\u0634\u06cc\u0646\u200c\u0647\u0627\u06cc Singleton@ \u06af\u0645\u0631\u0627\u0647\u200c\u06a9\u0646\u0646\u062f\u0647 \u0647\u0633\u062a\u0646\u062f. \u0627\u06af\u0631 \u0642\u0631\u0627\u0631 \u0628\u0627\u0634\u062f \u0628\u0627 \u0647\u0645\u06cc\u0646 \u0631\u0648\u06cc\u0647 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u062f\u0627\u0645\u0647 \u0628\u062f\u0647\u06cc\u0645\u060c \u062f\u0631 \u06a9\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0627 \u062a\u0639\u062f\u0627\u062f \u0632\u06cc\u0627\u062f\u06cc Singleton@ \u0633\u0631\u0648\u06a9\u0627\u0631 \u062f\u0627\u0631\u06cc\u0645. \u0628\u0627 \u0627\u06cc\u0646\u200c\u062d\u0627\u0644 \u0641\u0642\u0637 \u062a\u0639\u062f\u0627\u062f \u0645\u062d\u062f\u0648\u062f\u06cc \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u062f\u0631 \u0686\u0631\u062e\u0647\u0654 \u062d\u06cc\u0627\u062a \u0628\u0631\u0646\u0627\u0645\u0647 singleton \u0647\u0633\u062a\u0646\u062f. \u0645\u062d\u062f\u0648\u062f\u0647 \u0628\u0647 \u06a9\u0627\u0631\u06af\u06cc\u0631\u06cc \u0647\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0645\u0627 \u0631\u0627 \u062d\u0633\u0627\u0628\u06cc \u06af\u0645\u0631\u0627\u0647 \u06a9\u0646\u062f.<\/p>\n\n\n\n<p>\u062e\u0628\u0631 \u062e\u0648\u0628 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0646\u0648\u062a\u06cc\u0634\u0646\u200c\u0647\u0627\u06cc \u062f\u0644\u062e\u0648\u0627\u0647 \u062e\u0648\u062f\u0645\u0627\u0646 \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u0645 \u062a\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u0627\u0646\u0627\u062a\u0631 \u0634\u0648\u062f. Singleton@ \u062a\u0646\u0647\u0627 \u0627\u0646\u0648\u062a\u06cc\u0634\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u062f\u0631 \u0632\u0628\u0627\u0646 \u062c\u0627\u0648\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647. \u0645\u0646 \u062f\u0631 \u0627\u06cc\u0646\u200c\u062c\u0627 \u0628\u0631\u0627\u06cc \u0639\u0644\u0627\u0645\u062a \u0632\u062f\u0646 \u0627\u0634\u06cc\u0627\u0626\u06cc \u06a9\u0647 \u062f\u0631 \u0645\u062d\u062f\u0648\u062f\u0647 Fragment\u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u060c \u06cc\u06a9 \u0627\u0646\u0648\u062a\u06cc\u0634\u0646 \u062c\u062f\u06cc\u062f \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u0645 (FragmentScope.java).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Scope\n@Retention(RetentionPolicy.RUNTIME)\npublic @interface FragmentScope {  \n}<\/code><\/pre>\n\n\n\n<p>\u0645\u062d\u062f\u0648\u062f\u0647\u200c\u0647\u0627\u06cc \u062f\u0644\u062e\u0648\u0627\u0647\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0646\u0648\u062a\u06cc\u0634\u06cc\u0646 Scope@ \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u062d\u0627\u0644\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0645 \u0628\u0631\u0627\u06cc \u0639\u0644\u0627\u0645\u062a \u0632\u062f\u0646 \u0627\u0634\u06cc\u0627\u0626\u06cc \u06a9\u0647 \u062f\u0631 \u0645\u062d\u062f\u0648\u062f\u0647 \u06cc\u06a9 \u0641\u0631\u06af\u0645\u0646\u062a singleton \u0647\u0633\u062a\u0646\u062f\u060c \u0627\u0632 FragmentScope@ \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Module\npublic class FragmentModule{  \n  @Provides @FragmentScope\n  Object provideSomething(){\n    return new Object();\n  }\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc<\/h2>\n\n\n\n<p>\u0628\u0647 \u062e\u0648\u062f\u062a\u0627\u0646 \u0641\u0631\u0635\u062a \u0628\u062f\u0647\u06cc\u062f \u062a\u0627 \u0645\u0641\u0627\u0647\u06cc\u0645 \u0628\u0627\u0644\u0627 \u062f\u0631 \u0630\u0647\u0646\u062a\u0627\u0646 \u062a\u0647\u200c\u0646\u0634\u06cc\u0646 \u0634\u0648\u062f. \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u0628\u0647 \u0686\u0646\u062f \u067e\u0631\u0648\u0698\u0647\u0654 \u0648\u0627\u0642\u0639\u06cc \u06a9\u0647 \u0627\u0632 Dagger 2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0646\u06af\u0627\u0647\u06cc \u0628\u06cc\u0646\u062f\u0627\u0632\u06cc\u062f (\u0645\u062b\u0644&nbsp;<a href=\"https:\/\/web.archive.org\/web\/20181229123406\/https:\/\/github.com\/frogermcs\/GithubClient\">\u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647<\/a>). \u0628\u0639\u062f \u062e\u0648\u062f\u062a\u0627\u0646 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f \u0648 \u06a9\u062f \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 Dagger \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0628\u062e\u0648\u0627\u0646\u06cc\u062f \u062a\u0627 \u0645\u062a\u0648\u062c\u0647 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0686\u0647 \u0627\u062a\u0641\u0627\u0642\u0627\u062a\u06cc \u062f\u0631 \u067e\u0634\u062a \u067e\u0631\u062f\u0647 \u0631\u062e \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"dagger\">\u0633\u0627\u06cc\u0631 \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc Dagger<\/h3>\n\n\n\n<p>Dagger \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\u06cc \u0647\u0645 \u062f\u0627\u0631\u062f \u06a9\u0647 \u0645\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u0646\u0648\u0634\u062a\u0647 \u0628\u0647 \u0622\u0646 \u0646\u067e\u0631\u062f\u0627\u062e\u062a\u0647\u200c\u0627\u0645. \u0645\u062b\u0644\u0627\u064b \u0627\u06cc\u0646\u200c\u06a9\u0647 \u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u06cc\u06a9 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a (\u0641\u0631\u0632\u0646\u062f) \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u062f\u06cc\u06af\u0631 (\u067e\u062f\u0631) \u0648\u0627\u0628\u0633\u062a\u0647 \u06a9\u0646\u06cc\u0645. \u062f\u0631 \u0627\u063a\u0644\u0628 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc\u060c \u0645\u0627 \u0628\u0647 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627 \u0627\u062d\u062a\u06cc\u0627\u062c \u067e\u06cc\u062f\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0627\u0645\u0627 \u0628\u0631\u0627\u06cc \u0633\u0627\u062f\u0647\u200c\u062a\u0631 \u0634\u062f\u0646 \u0631\u0648\u0646\u062f \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc\u060c \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u062f\u0631 \u0627\u0628\u062a\u062f\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 \u0645\u0628\u0627\u062d\u062b \u067e\u0627\u06cc\u0647\u200c\u0627\u06cc \u062f\u0633\u062a\u200c\u0648\u067e\u0646\u062c\u0647 \u0646\u0631\u0645 \u06a9\u0646\u06cc\u062f.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u062f\u0631&nbsp;\u0646\u0648\u0634\u062a\u0647 \u0642\u0628\u0644&nbsp;\u0641\u0631\u06cc\u0645\u0648\u0631\u06a9 Dagger \u0631\u0627 \u0645\u0639\u0631\u0641\u06cc \u06a9\u0631\u062f\u0645 \u0648 \u062f\u0631\u0628\u0627\u0631\u06c0 \u0641\u0648\u0627\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0627\u0646\u062f\u06a9\u06cc \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0645. \u0627\u06af\u0631 \u0622\u0646 \u0645\u0637\u0644\u0628 \u0631\u0627 \u0646\u062e\u0648\u0627\u0646\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u0627\u0628\u062a\u062f\u0627 \u0622\u0646 \u0631\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0639\u062f \u0628\u0647 \u0647\u0645\u06cc\u0646 \u0646\u0648\u0634\u062a\u0647 \u0628\u0631\u06af\u0631\u062f\u06cc\u062f. \u0627\u062c\u0632\u0627\u0621 Dagger \u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0645\u0637\u0644\u0628&nbsp;\u00ab\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 Dagger\u00bb&nbsp;\u0627\u0634\u0627\u0631\u0647 \u06a9\u0631\u062f\u0645\u060c \u062f\u0631 \u00ab\u062a\u0632\u0631\u06cc\u0642 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u00bb \u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0631\u0627 \u0628\u0631\u0622\u0648\u0631\u062f\u0647 \u06a9\u0646\u06cc\u0645. \u06a9\u0644\u0627\u0633&nbsp;Phone&nbsp;\u0631\u0627 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":85,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-37","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1"],"_links":{"self":[{"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/posts\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/comments?post=37"}],"version-history":[{"count":2,"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/posts\/37\/revisions"}],"predecessor-version":[{"id":86,"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/posts\/37\/revisions\/86"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/media\/85"}],"wp:attachment":[{"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/media?parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/categories?post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/merfan.com\/fa\/wp-json\/wp\/v2\/tags?post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}