Zenject: рдХреИрд╕реЗ рдПрдХ IoC рдХрдВрдЯреЗрдирд░ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛ рдорд╛рд░ рд╕рдХрддрд╛ рд╣реИ

рдЦрддрд░рд╛ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ? рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рджреГрдврд╝ рдирд┐рд╢реНрдЪрдп рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЕрд╡рдзрд╛рд░рдгрд╛ рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗред рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ DI рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдУрд░ рдореБрдбрд╝реЗрдВрдЧреЗ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдбреАрдЖрдИ рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдХрдВрдЯреЗрдирд░)ред рдЖрдк рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡реЗрджрди рдврд╛рдВрдЪреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдкреНрд░рд┐рдп рд╕рдВрд╡реЗрджрдирд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рдкреВрд░реЗ рдЬреАрд╡рди рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЯрд┐рдХрд╛ рд░рд╣реЗрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рдорд╛рдзрд╛рди (рдХрдВрдЯреЗрдирд░) рдХреЗ рдореВрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдпрд╛ рдкреНрд░рднрд╛рд╡реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрди рдпрд╛ рдЗрдЪреНрдЫрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди (рдХрдВрдЯреЗрдирд░) рдХреЗ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд "рд╕реБрд╡рд┐рдзрд╛рдУрдВ" рдХреА рдУрд░ рдореБрдбрд╝реЗрдВрдЧреЗред рдФрд░ рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдирд┐рдореНрди рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ: рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдЪреБрдиреЗ рд╣реБрдП рд╕рдорд╛рдзрд╛рди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдПрдХ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рд╕рд╣реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рджреВрд╕рд░реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдорд╣рдВрдЧрд╛ рдФрд░ рдЕрдиреБрдЪрд┐рдд рд╣реИред рдЬреИрд╕реЗ (рд╕рдордп рд╕реАрдорд╛ рдирд┐рдХрдЯ рдЖ рд░рд╣реА рд╣реИ)ред рдпрд╣ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЦрддрд░рдирд╛рдХ рд╕реНрдерд┐рддрд┐ рдкреИрджрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ - рд╕рдорд╛рдзрд╛рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдо рджреЗрдЦрднрд╛рд▓ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рджреБрд░реНрд▓рдн рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдмрд╕ рдорд╢реАрди рдкрд░ (рд╡рд┐рдЪрд╛рд░рд╣реАрди)ред

рдЗрд╕рдореЗрдВ рдХрд┐рд╕рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛ рд╕рдХрддреА рд╣реИ?


рдпрд╣ рд▓реЗрдЦ рдЙрди рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬреЛ рдбреАрдЖрдИ рдФрд░ рд╢реБрд░реБрдЖрддреА рдбреАрдЖрдИ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рдбреАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдмреБрдирд┐рдпрд╛рджреА рдЬреНрдЮрд╛рди рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдбреАрдЖрдИ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рдПрдХ рдЖрдИрдУрд╕реА рдХрдВрдЯреЗрдирд░ рдЬреЛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрд╣ Zenject рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдпрд╣ рд▓реЗрдЦ рдХреЗрд╡рд▓ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдФрд░ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдорд╛рд░реНрдХ рд╕рд┐рдорди рдХреА рдкреБрд╕реНрддрдХ ".NET рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди" рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ DI рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рдВрдкреВрд░реНрдг рдХрд╛рд░реНрдп рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд╕рднреА рдЙрджреНрдзрд░рдг рдорд╛рд░реНрдХ рд╕реАрдорди рдХреА рдкреБрд╕реНрддрдХ рдХреЗ рдЕрдВрд╢ рд╣реИрдВред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдЦ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдПрдХ рдЙрдкрдХрд░рдг рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ DI рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рджрд┐рд╢рд╛ рдореЗрдВ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдмрд╛рдБрдзрддреЗ рд╣реИрдВ, рдХреЛрдб рдкрд░реАрдХреНрд╖рдг рдХреНрд╖рдорддрд╛ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдЙрди рд╕рднреА рд▓рд╛рднреЛрдВ рд╕реЗ рд╡рдВрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЖрдк рдбрд┐ред

рдбрд┐рд╕реНрдХреНрд▓реЗрдорд░ : рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдпрд╛ рдЙрд╕рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИред Zenject рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ DI рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд╢рд░реНрддреЗ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреВрд░реНрдг рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реБрдПред

рдкрд░рд┐рдЪрдп


Zenject рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХрдВрдЯреЗрдирд░ рд╣реИ, рдЬрд┐рд╕реЗ Unity3D рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ Unity3D рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ Zenject рдХрд╛ рдЙрдкрдпреЛрдЧ Unity3D рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рдХрд╕рд┐рдд C # рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХрдВрдЯреЗрдирд░ рдпреВрдирд┐рдЯреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рдХрд╛рдлреА рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбреАрдЖрдИ рдХрдВрдЯреЗрдирд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред

рдореИрдВрдиреЗ 3 рдмрдбрд╝реА рдпреВрдирд┐рдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рднреА рд╕рдВрд╡рд╛рдж рдХрд┐рдпрд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди рд╣реИрдВ:

  • рдХреНрдпрд╛ Zenject рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ?
  • рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдореЗрдВ рдХреНрдпрд╛ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ?
  • Zenject рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХреНрдпрд╛ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдЖрддреА рд╣реИрдВ?

рдФрд░ рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЬрд┐рдирдореЗрдВ рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдордЬрдмреВрдд рдХреЛрдб рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдФрд░ рдЕрд╕рдлрд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реНрдерд┐рддрд┐ рдмрдврд╝ рдЧрдИред

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдРрд╕реЗ рдкреНрд░рд╢реНрди рдФрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреНрдпреЛрдВ рд╣реИрдВред рдЖрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:
рд╡рд┐рдбрдВрдмрдирд╛ рдпрд╣ рд╣реИ рдХрд┐ DI рдХрдВрдЯреЗрдирд░ рдЦреБрдж рд╕реНрдерд┐рд░ рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рд╣реЛрддреЗ рд╣реИрдВред ... рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ DI рдХрдВрдЯреЗрдирд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рддрдХ рд╕реАрдорд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЪрд▓рд╛рддреЗ рд╣реИрдВред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЙрдЪрд┐рдд рдФрд░ рд╕реАрдорд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ (рдпрд╛ " рдЧрд░реАрдмреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди " рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдирд╛) рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛ред рд╕рдЪ рд╣реИ, рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░рдирд╛рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдпрд╣ рдбреАрдЖрдИ рдХреЗ рдХрдИ рдмреБрдирд┐рдпрд╛рджреА рдкрд╣рд▓реБрдУрдВ рдХреЛ рд╕рддрд╣реА рд░реВрдк рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдкрд╣рд▓рд╛ рдкрд╣рд▓реВ DI рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИред рдорд╛рд░реНрдХ рд╕рд┐рдорди рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЕрдкрдиреА рдкреБрд╕реНрддрдХ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
рдбреАрдЖрдИ рдХрдВрдЯреЗрдирд░ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
DI рдХрдВрдЯреЗрдирд░ рдХреЛ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рднрд╛рд░реА рдпреБрдЧреНрдорд┐рдд рдХреЛрдб рдХреЛ рд╢рд┐рдерд┐рд▓ рдпреБрдЧреНрдорд┐рдд рдХреЛрдб рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рди рдХрд░реЗрдВред рдПрдХ рдХрдВрдЯреЗрдирд░ рдбрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд╡реЗрджрди рдореЗрдВ рдЬреЛрд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкреИрдЯрд░реНрди рдХреЗ рдЙрдкрдпреЛрдЧ рдФрд░ рдбреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рджреВрд╕рд░рд╛ рдкрд╣рд▓реВ DI рдкреИрдЯрд░реНрди рд╣реИ ред рдорд╛рд░реНрдХ рд╕рд┐рдорди рдЪрд╛рд░ рдореБрдЦреНрдп рдкреИрдЯрд░реНрди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЖрд╡реГрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдФрд░ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛:

  1. рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди - рд╣рдо рдХреИрд╕реЗ рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣рдореЗрд╢рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреА?
  2. рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди - рдореИрдВ рдХрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдбреАрдЖрдИ рдХреЛ рдХреИрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рдиреАрдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ?
  3. рд╡рд┐рдзрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди - рдпрджрд┐ рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛ рддреЛ рдореИрдВ рдЖрд╢реНрд░рд┐рддреЛрдВ рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рдХреИрд╕реЗ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
  4. рдкрд░рд┐рд╡реЗрд╢ рдХрд╛ рд╕рдВрджрд░реНрдн - рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдПрдкреАрдЖрдИ рдШрдЯрдХ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХреНрд░реЙрд╕-рдХрдЯрд┐рдВрдЧ рдкрд╣рд▓реБрдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдХреИрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдкреИрдЯрд░реНрди рдХреЗ рдирд╛рдо рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдкреНрд░рд╢реНрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдирдХреЗ рджрд╛рдпрд░реЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реА рд╕рдордп, рд▓реЗрдЦ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рд╣реИ) рдФрд░ рдПрдореНрдмрд┐рдПрдВрдЯ рдХреЙрдиреНрд╕реЗрдкреНрдЯ (рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
рдЕрдм рдЖрдк рд╕реАрдзреЗ Zenject рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░рдирд╛рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЦрддрд░рдирд╛рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ред


рдЧреБрдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ


рдпрд╣ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рдж рджреВрд╕рд░рд╛ рд╕рдмрд╕реЗ рдЖрдо DI рдкреИрдЯрд░реНрди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:

public class Foo { [Inject] public IBar Bar { get; private set; } } 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдореЗрдВ "рдлреАрд▓реНрдб рдЗрдВрдЬреЗрдХреНрд╢рди" рдЬреИрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛ рднреА рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╕рднреА рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдореЗрдВ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдмрд╕реЗ рдЦрддрд░рдирд╛рдХ рдХреНрдпреЛрдВ рд╣реИред

  • рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрдЯреЗрдирд░ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╕рдорд╛рдзрд╛рди рд╣реИ, рд╕рд╛рджрдЧреА рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рддрд░реНрдХ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдореЗрдВ рдХреНрд▓рд╛рд╕ рдХреЛрдб рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ (рд╕рд╛рде рд╣реА рдирд╛рдо рд╕реНрдерд╛рди) рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ, рд▓реЗрдХрд┐рди рд╡рд░реНрдЧ рдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдХрд╣рд╛рдБ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдорд┐рд▓рддреА рд╣реИред рд╕рд╛рде рд╣реА, рд╣рдо рдХрдВрдЯреЗрдирд░ рдкрд░ рдХреНрд▓рд╛рд╕ рдХреЛрдб рдХреЛ рдХрд╕рдиреЗ рд▓рдЧреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣рдо рдХреНрд▓рд╛рд╕ рдХреЛрдб рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд┐рдП рдмрд┐рдирд╛ рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
  • рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╕реНрдерд╛рдиреАрдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд░ рдХрдВрдЯреЗрдирд░ рдЗрд╕реЗ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, Zenject рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рдорд┐рд▓рддреА рд╣реИ - рдирд┐рд░реНрднрд░рддрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рд╣реИред
  • рдЪреВрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдкреВрд░реЗ рддрд░реНрдХ рдХреЛ рдЦрд░рд╛рдм рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╡рд╣рд╛рдВ рдкреЗрд╢ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЧреБрдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреИрд░-рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ, рдЖрдкрдХреЛ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рдкрддреНрд░ рдирд┐рд░реНрднрд░рддрд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИред рд╡реЗ рдЗрддрдиреЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдореЗрдВ, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд╣рд▓реЗ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдФрд░ рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред
  • DI рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рддрд╛рддреНрдкрд░реНрдп рд╕рдВрд░рдЪрдирд╛ рд░реВрдЯ рдкреИрдЯрд░реНрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рди рдХреЗрд╡рд▓ рд╕рдВрд░рдЪрдирд╛ рд░реВрдЯ рдореЗрдВ рдХреЛрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ред

рдХрд╛рд░рдЦрд╛рдиреЛрдВ (рдФрд░ рдореЗрдореЛрд░реАрдкреВрд▓)


Zenject рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдХрд╛рд░рдЦрд╛рдиреЛрдВ рдкрд░ рдПрдХ рдкреВрд░рд╛ рдЦрдВрдб рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕реНрддрд░ рдкрд░ рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╕реНрдЯрдо рдХрд╛рд░рдЦрд╛рдиреЛрдВ рдХреЛ рдмрдирд╛рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред рдЖрдЗрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

 public class Enemy { DiContainer Container; public Enemy(DiContainer container) { Container = container; } public void Update() { ... var player = Container.Resolve<Player>(); WalkTowards(player.Position); ... etc. } } 

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдбреАрдЖрдИ рдХрд╛ рдШреЛрд░ рдЙрд▓реНрд▓рдВрдШрди рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╕реНрдЯрдо рдХрд╛рд░рдЦрд╛рдирд╛ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдпрд╣рд╛рдБ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ?
рдПрдХ DI рдХрдВрдЯреЗрдирд░ рдХреЛ рдЧрд▓рддреА рд╕реЗ рдПрдХ рд╕реЗрд╡рд╛ рд▓реЛрдХреЗрдЯрд░ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреНрд░рд╛рдл рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╣рдо рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХрдВрдЯреЗрдирд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд▓реЗрдЖрдЙрдЯ рдХреА рдЬрдбрд╝ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рд╣реИ рдХрд┐ рдпрд╣ рдХрдВрдЯреЗрдирд░ рдФрд░ рдмрд╛рдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЗ рдмреАрдЪ рдХрд┐рд╕реА рднреА рдмрдВрдзрди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдХреЗ "рдмрд┐рд▓реНрдЯ-рдЗрди" рдХрд╛рд░рдЦрд╛рдиреЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдлреИрдХреНрдЯреАрд╡ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдЬрд┐рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рд╣рдо рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░рдлреИрдХреНрдЯреНрд░реА рдХреНрд▓рд╛рд╕ рдореЗрдВ рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ:

  public abstract class PlaceholderFactory<TValue> : IPlaceholderFactory { [Inject] void Construct(IProvider provider, InjectContext injectContext) 

рдЗрд╕рдореЗрдВ рд╣рдо InjectContext рдкреИрд░рд╛рдореАрдЯрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдХрдИ рдирд┐рд░реНрдорд╛рддрд╛ рд╣реИрдВ, рдкреНрд░рдкрддреНрд░:

  public InjectContext(DiContainer container, Type memberType) : this() { Container = container; MemberType = memberType; } 

рдФрд░ рдлрд┐рд░, рд╣рдо рдХрдВрдЯреЗрдирд░ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг DI рдХрд╛ рдПрдХ рд╕рдХрд▓ рдЙрд▓реНрд▓рдВрдШрди рдФрд░ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдПрдХ рд╕реЗрд╡рд╛ рд▓реЛрдХреЗрдЯрд░ рдореЗрдВ рдЖрдВрд╢рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдкреИрджрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓реЗрдЦрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрдВрдЬреАрдХреГрдд рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕рдВрдкреВрд░реНрдг рдХрдВрдЯреЗрдирд░ рдЖрд╡реЗрджрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреНрд░рд╛рдл рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рд▓реЗрдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЛрдВ рдФрд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╡рд┐рдзрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд┐рдзрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рддрд░реНрдХ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: рдкрд╣рд▓реЗ, рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдореЗрдВ, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЧреБрдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрдд рдореЗрдВ рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рджрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 public class Foo { [Inject] public Init(IBar bar, Qux qux) { _bar = bar; _qux = qux; } } 

рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдиреБрдХрд╕рд╛рди рд╣реИрдВ:

  • рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рд▓рд╛рдЧреВ рдХреА рдЬрд╛рдПрдЧреАред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдЪрдХреНрд░реАрдп рдирд┐рд░реНрднрд░рддрд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИред
  • рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддрд░рд╣, рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддрд╛ рд╣реИред
  • рдЬрд╝реЗрдирдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗрд╡рд▓ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдореЛрдиреЛрдмреЗрд╡рд┐рдпрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рд░реНрдХ рд╕рд┐рдорди рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рд╣реИред рд╡рд┐рдзрд┐ рдХреЗ рд╡рд┐рд╣рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдХреНрд▓рд╛рд╕рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░рдЦрд╛рдиреЛрдВ (рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдпрджрд┐ рдХрдХреНрд╖рд╛ рдореЗрдВ рдХрдИ рд╢реБрд░реВ рдХреА рдЧрдИ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ, рдпрд╛ рд╡рд┐рдзрд┐ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рднреА рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмрд┐рдЦрд░реА рд╣реБрдИ рд╣реЛрдВрдЧреА, рдЬреЛ рдХрд┐ рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░реЗрдВрдЧреАред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдХрдХреНрд╖рд╛ 1 рдореЗрдВ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрдХреНрд╖рд╛ рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдПрдХрдорд╛рддреНрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВ, рддреЛ рдирд┐рд░реНрдорд╛рддрд╛ рджреНрд╡рд╛рд░рд╛, рдпрд╛ рд╢рд╛рдпрдж рдХреБрдЫ рдЧреБрдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдлрд┐рд░ рдЪрд┐рддреНрд░ рдЙрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬрд┐рддрдирд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдРрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдЬреЛ рдбреАрдЖрдИ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЦрдВрдбрди рдХрд░рддреА рд╣реИ, рдореЗрдВ рдПрдХ рднреА рдкреНрд▓рд╕ рдирд╣реАрдВ рд╣реИред рдПрдХ рдмрдбрд╝реЗ рдХреИрд╡рд┐рдПрдЯ рдХреЗ рд╕рд╛рде, рдПрдХ рдкреНрд▓рд╕ рдХреЛ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореЛрдиреЛрдмреЗрд╣реЗрд╡рд┐рдпрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВред рд▓реЗрдХрд┐рди рдХрдВрдЯреЗрдирд░ рддрд░реНрдХ, DI рдкреИрдЯрд░реНрди рдФрд░ рдпреВрдирд┐рдЯреА 3 рдбреА рдЖрдВрддрд░рд┐рдХ рдореЗрдореЛрд░реА рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдПрдХ рдмрд▓реНрдХрд┐ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдХреНрд╖рдг рд╣реИ, рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рд╕рднреА рдореЛрдиреЛрдмреАрд╣реЙрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕рдВрд╕рд╛рдзрди-рдкреНрд░рдмрдВрдзрд┐рдд рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕реМрдВрдкрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реЛрдЧрд╛ред DI рдХрдВрдЯреЗрдирд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдЖрд╡рд░рдг, ViewModel, Fasade, рдпрд╛ рдХреБрдЫ рдФрд░ рд╣реЛ)ред

рдЧреНрд▓реЛрдмрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ


рдпрд╣ рдПрдХ рдмрд▓реНрдХрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдмрд╛рдВрдзрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рджреГрд╢реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдХреНрд░рдордг рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд░рд╣ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрддреНрдпрдВрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдХрд╛рдлреА рдЙрдкрдпреЛрдЧреА рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣ DI рдХреЗ рдкреИрдЯрд░реНрди рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХрд╛ рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рдФрд░ рдмрджрд╕реВрд░рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░реАрдлрд╝реИрдм рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рдЗрдВрд╕реНрдЯрд╛рд▓рд░) рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдХрдбрд╝рд╛рдИ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ, рдмрд┐рдирд╛ рдХрд╣реАрдВ рдЬрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд▓рд┐рдВрдХ рдХреЗред рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдиреБрдХрд╕рд╛рди рдЗрд╕рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдЬрдм рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрд╕реНрдЯреЙрд▓рд░реЛрдВ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рдЖрдкрдХреЗ рдкрд╛рд╕ рдордВрдЪ рдкрд░ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрд╕ рдкрд░ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдирдпрд╛ рдбреЗрд╡рд▓рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддреЛ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд┐рд╕рд░реНрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдмрд┐рдВрджреБ рдмрди рдЬрд╛рддрд╛ рд╣реИред рдПрдХрд▓ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреНрдпрд╛ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЧреНрд░рд╛рдл рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡реИрд╢реНрд╡рд┐рдХ рдмрд╛рдЗрдВрдбрд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рдордВрдЪ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрд░реЛрдд рд╣реЛрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреНрдп рдЗрдВрд╕реНрдЯреЙрд▓рд░реЛрдВ (рджреГрд╢реНрдпреЛрдВ рдкрд░ рдореМрдЬреВрдж) рдХреЗ рдХреЛрдб рдореЗрдВ рдЧреНрд▓реЛрдмрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдкреВрд░рд╛ рдЧреНрд░рд╛рдлрд╝ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рдФрд░ рдХреЗрд╡рд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдордВрдЪ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдореЗрдВ рдХреБрдЫ рдмрд╛рдЗрдВрдбрд░реНрд╕ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореИрдВ рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХрдореА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЙрд╕реНрдореЗрдЯрд┐рдХ рд╣реИред

рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛


рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд╕рдорд╛рди рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдПрдХ рд╕реЗрдЯ рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 Container.Bind<IFoo>().WithId("foo").To<Foo1>().AsSingle(); Container.Bind<IFoo>().To<Foo2>().AsSingle(); public class Bar1 { [Inject(Id = "foo")] IFoo _foo; } public class Bar2 { [Inject] IFoo _foo; } 

рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдерд┐рддрд┐рдЬрдиреНрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде, рдпрд╣ "рдЧреБрдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкрд╣рдЪрд╛рдиреА рдЧрдИ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛рддрд╛ рд╣реИ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рдХреЛрдб рдореЗрдВ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕реБрд╕рдВрдЧрддрддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╕рдордп рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдЧрд▓рддреА рд╕реЗ рдЗрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЧреИрд░-рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд┐рдЧреНрдирд▓ рдФрд░ ITickable


рд╕рд┐рдЧреНрдирд▓ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдЗрд╡реЗрдВрдЯ рдПрдЧреНрд░реАрдЧреЗрдЯрд░ рддрдВрддреНрд░ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИрдВред рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдорд╣рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдШрдЯрдирд╛рдУрдВ-рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рддрдВрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдПрдХ рдХрд╛рдлреА рдмрдбрд╝рд╛ рдЙрджрд╛рд╣рд░рдг рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд▓реЗрдЦ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред

ITickable рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди - рдорд╛рдирдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдХрдВрдЯреЗрдирд░ рдореЗрдВ ITickable рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдбреЗрд▓рд┐рдЧреЗрдЯ рдХрд░рдХреЗ Unity рдореЗрдВ рдЕрдкрдбреЗрдЯ, рд▓реЗрдЯрдЕрдк рдФрд░ рдлрд┐рдХреНрд╕реНрдбрдЕрдкрдбреЗрдЯред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рднреА рд╣реИ, рдФрд░ рд▓реЗрдЦ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред

рд╕рд┐рдЧреНрдирд▓ рдФрд░ рдЖрдИрдЯреАрдХреЗрдмрд▓ рдХреА рд╕рдорд╕реНрдпрд╛ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдкрд╣рд▓реБрдУрдВ рдХреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЗрд╕рдХреА рдЬрдбрд╝ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ, рдХрдВрдЯреЗрдирд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рднреАрддрд░ рд▓рдЧрднрдЧ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдФрд░ рдЙрдирдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЧреНрд░рд╛рдл рдмрдирд╛рдирд╛ рдФрд░ рдЙрдирдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рд╣реИред рд╕рд┐рдЧреНрдирд▓, ITickable, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рддрдВрддреНрд░ рдХреЛ рдЬреЛрдбрд╝рдирд╛, рд╣рдо рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЗрд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рдВрдз рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдХреЛрдб рдХрд╛ рдПрдХ рдЕрдирдиреНрдп рдФрд░ рдЕрдкреВрд░рдгреАрдп рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ "рджрд┐рд╡реНрдп рд╡рд╕реНрддреБ"ред

рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрдЬрд╛рдп


рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╕рдордЭрдирд╛ рд╣реИ рдХрд┐ рдбреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреАрдЖрдИ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдИ рд╢рд┐рдерд┐рд▓ рдпреБрдЧреНрдорд┐рдд рд╡рд░реНрдЧреЛрдВ рдФрд░ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдЙрдЯ-рдСрдл-рдж-рдмреЙрдХреНрд╕ (рдмреЙрдХреНрд╕рд┐рдВрдЧ) рд╕рдорд╛рдзрд╛рди рдпрд╛ рдЫреЛрдЯреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЛрдЪ рд╕рдордЭрдХрд░ рдХрд░реЗрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдФрд░ рднреА рдЕрдзрд┐рдХ рднрд╡реНрдп рдЪреАрдЬреЗрдВ рдЬрд┐рди рдкрд░ рдЖрдк рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреВрдирд┐рдЯреА 3 рдбреА рдХреЗ рдкреИрдорд╛рдиреЗ рдХреЗ рдЧреЗрдо рдЗрдВрдЬрди) рдРрд╕реА рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдзрдорд╛рдХреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╛рдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣, рдЕрдВрддрддрдГ, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдЕрдВрддрд┐рдо рдЙрддреНрдкрд╛рдж рдХреА рд╕реНрдерд┐рд░рддрд╛, рдХрд╛рд░реНрдп рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЬрд┐рд╕рдиреЗ рдЕрдВрдд рддрдХ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдЦ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрд╛, рдХрдо рд╕реЗ рдХрдо, рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЦреЗрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

Source: https://habr.com/ru/post/hi420235/


All Articles