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

рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдиреЗрддрд╛ рдпрд╛ рдбрд┐рдЬрд╛рдЗрдирд░ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ - рдХрд┐рд╕ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдкреИрдЯрд░реНрди MVP рд╣реИред рд╢реБрджреНрдз рдПрдорд╡реАрдкреА рдЕрдкрдиреЗ рд╢реБрджреНрдз рд░реВрдк рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ (рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рджреЗрдЦреЗрдВ), рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рдирд╣реАрдВ рджреЗрддреЗ, рддреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рд╡реЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдирд╣реАрдВ рд░реБрдХреЗ, рдФрд░ рд╣рдореЗрдВ рд╢реБрджреНрдз рдПрдорд╡реАрдкреА рд╕реЗ рджреЛ рд╢рд╛рдЦрд╛рдПрдБ рдорд┐рд▓реАрдВред

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

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

SurfMVP рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ MVP рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдд рдХреЛ рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЫрд╡рд┐ рдкрд░рддреЛрдВ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рдВрдмрдВрдз рдХрд╛ рдПрдХ рдЪрд┐рддреНрд░ рджрд┐рдЦрд╛рддреА рд╣реИред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдд рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рдП рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рд╣реЛред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдд рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдЗрдП рдЙрди рдкрд░ рдЕрд▓рдЧ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
ViewInput - рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрд╡рдпрдВ рджреЗрдЦреЗрдВ , рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рд▓рд┐рдВрдХ рд░рдЦрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЙрди рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рджреГрд╢реНрдп рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред
ViewOutput - рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рджреГрд╢реНрдп рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд░рдЦрддрд╛ рд╣реИред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рджреГрд╢реНрдп рдореЗрдВ рд╣реЛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреА рдШрдЯрдирд╛рдПрдВред
рд░рд╛рдЙрдЯрд░рдЗрдиреНрдкреБрдЯ - рд░рд╛рдЙрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд░рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЖрдЧреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
ModuleTransitionable - рджреГрд╢реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд░рд╛рдЙрдЯрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд░рдЦрддрд╛ рд╣реИред рдпрд╣ SurfMVP рдореЗрдВ рдПрдХрдорд╛рддреНрд░ "рдореВрд▓" рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд░рд╛рдЙрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореЙрдбреНрдпреВрд▓рдЗрдиреНрдкреБрдЯ - рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреНрд╕ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ ред рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рд╡реЗ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рд╡рд░реНрддрдорд╛рди рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
ModuleOutput - рдХреЙрд▓рд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рд▓рд┐рдВрдХ рдХреЛ рдХреЙрд▓ рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рд░рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реНрдХреНрд░реАрди рдХреЛ рд╕рдорд╛рдЪрд╛рд░ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ NewsPresenter рдХреЛ ProfileModuleOutput рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ ProfilePresenter рдХреЛ рдЗрд╕рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ред
ModuleOutput рдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕рдХрд░реНрддрд╛ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдХреЙрд▓рд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
SurfMVP рд╕рдорд╕реНрдпрд╛
рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдиреЗрд╡рд┐рдЧреЗрд╢рдиред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдЕрд▓рдЧ рд░рд╛рдЙрдЯрд░ рдЗрдХрд╛рдИ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд╡реЗ рдЪрд▓реЗ рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВред SurfMVP рдХреЛ рдЬрдЯрд┐рд▓ рдбреАрдкрд▓рд┐рдВрдХ рдФрд░ рдкреБрд╢-рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдмрд┐рдирд╛, рд╕рд░рд▓ рдлреНрд▓реИрдЯ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐, рд╕рд░реНрдлрд╝рдПрдорд╡реАрдкреА рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрд╢рди рджрд┐рдЦрд╛рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдореЙрдбреНрдпреВрд▓ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд░рд╛рдЙрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

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

рд╕рдордиреНрд╡рд┐рдд SurfMVP

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

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

рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░рд╛ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ UserFlow рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдордиреНрд╡рдпрдХ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЖрдЧреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдЕрдм рд╕рдордиреНрд╡рдпрдХ рдХреЗ рдкрд╛рд╕ рд╣реИ, рд╡рд╣ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕реНрдЯреИрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдЕрдиреНрдп рд╕рдордиреНрд╡рдпрдХ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рд╕рдордиреНрд╡рд┐рдд SurfMVP рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖
рдлрд╛рдпрджреЗ:
- рд╕рдордиреНрд╡рдпрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдЖрд╡реЗрджрди рдХреЗ рднреАрддрд░ рдкреВрд░реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмреНрд▓реЙрдХреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдЕрдм, рдЖрд╡реЗрджрди рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА, рдЗрд╕ рд╕рдордиреНрд╡рдпрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдЪреВрдВрдХрд┐ рдиреЗрд╡рд┐рдЧреЗрд╢рди рддрд░реНрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕рдордиреНрд╡рдпрдХ рдХреЗ рдЕрдВрджрд░ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдм рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ: рдмрд╕ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдХреЛ рдЕрдкрдиреА рдЖрдВрдЦреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдЦреЛрд▓реЗрдВред рд╕рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЫреЗрджрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ рдпрд╣ рд╕рдордЭ рд╕рдХреЗрдВ рдХрд┐ рд╡реЗ рдХрд┐рд╕ рд▓рд┐рдП рдкрд╣реБрдВрдЪ рд░рд╣реЗ рд╣реИрдВ, рдЖрд╡реЗрджрди рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рджреЗрдЦреЗрдВред
- рдмрдбрд╝реА рдЯреАрдореЛрдВ рдореЗрдВ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдпрд╣ рдкреВрд░реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдЪрд░рдг рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕реМрдВрдк рджреЗрдЧрд╛, рдФрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЗрди рд╕реНрдХреНрд░реАрди рдХреЗ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХрдо рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреАред
- Deeplinks рдФрд░ Push-Notifications рдХрд╛ рдПрдХреАрдХрд░рдг рдЕрдм рд╕рд┐рд░рджрд░реНрдж рдирд╣реАрдВ рд╣реИред
рдиреБрдХрд╕рд╛рди:
рдХрд┐рд╕реА рднреА рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рд╕рдордиреНрд╡рд┐рдд SurfMVP рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд╕рд╛рдЗрдб рд╣реИрдВред
- рдмрдбрд╝реЗ рд╕рдордиреНрд╡рдпрдХреЛрдВ рдХреЛ рдЪреЛрдЯ рд▓рдЧреАред рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╕рднреА рддрд░реНрдХ рдХреА рдПрдХрд╛рдЧреНрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг, рдХреЛрдб рдХреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдбреВрдмрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рд╛рдЭрд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕рдордиреНрд╡рдпрдХ рдПрдХ рдмрдбрд╝реЗ рд░рд╛рдХреНрд╖рд╕ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреЛрдб рдкрдардиреАрдпрддрд╛ рдХреЗ рд╕рднреА рдлрд╛рдпрджреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓реБрдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
- рдХреЛрдб рдореЗрдВ рд╕реБрдВрджрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЖрд╡реЗрджрди рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рддреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╕рдордиреНрд╡рдпрдХ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдкрд░рддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
- рдореЗрдореЛрд░реА рд▓реАрдХреНрд╕ - рд╕рдорд╕реНрдпрд╛ рдирдИ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЫреЗрдж рдореЗрдВ рди рдЬрд╛рдПред рд╕рдордиреНрд╡рдпрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдореЙрдбреНрдпреВрд▓ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рдЪрдХреНрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрд▓реЛрдЬрд░ рдХреЗ рдЕрдВрджрд░ рдордЬрдмреВрдд рд▓рд┐рдВрдХ рдХреА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓рд╛рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓рд╛ рдирдП рд╕рдордиреНрд╡рдпрдХ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХрдХрд░рдг рдФрд░ рд╕рдорд╛рдкрди рдлрд┐рдирд┐рд╢рдлреНрд▓реЛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╣реИред рдПрдХ weak coordinator
рдХреЛ рдкрдХрдбрд╝рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╕рдордиреНрд╡рдпрдХ рдЦреБрдж рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрд┐ рдкреНрд░рдорд╛рдгрд┐рдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд░рд┐рд╕рд╛рд╡ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ред
func runAuthFlow() { let coordinator = AuthCoordinator(router: MainRouter()) coordinator.finishFlow = { [weak self, weak coordinator] in self?.removeDependency(coordinator) } self.addDependency(coordinator) coordinator.start() }
рдирд┐рд╖реНрдХрд░реНрд╖
рдбрд┐рдЬрд╛рдЗрди рдЪрд░рдг рдореЗрдВ, рд╣рдордиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХрд╛ рдФрд░ рдЧрд▓рдд рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЪреБрдирд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рддреНрд░реБрдЯрд┐ рдиреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреА рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдкрд╕рдВрдж рдкрд░ рдЕрдзрд┐рдХ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ред
рд╕рдордиреНрд╡рд┐рдд SurfMVP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрдм рдЖрдк рдЪрд╛рд╣реЗрдВ, рддрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд░реНрддреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ:
- рд╕реНрдХреНрд░реАрди рдХреА рд╕рдВрд░рдЪрдирд╛ рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдзреАрди рд╣реИ;
- рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд╕рд╛рде рдбреАрдкрд▓рд┐рдВрдХ рдФрд░ / рдпрд╛ рдкреБрд╢-рд╕реВрдЪрдирд╛рдПрдВ рд╣реИрдВ;
- рдПрдХ рдмрдбрд╝реА рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ;
SurfMVP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ
рд╣рдо рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓реЗред рд╣рдо рдЕрднреА рднреА рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ рдирд┐рдореНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ:
- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдлреА рдЫреЛрдЯреА рд╣реИ рдФрд░ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ;
- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕реНрдХреНрд░реАрди рд╕рдВрд░рдЪрдирд╛ рд╣реИ, рдФрд░ рдпрд╣ рдордЬрдмреВрдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЕрдзреАрди рдирд╣реАрдВ рд╣реИред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдЭрд╛ рдХреА, рдЬреЛ рд╣рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдмреЗрд╢рдХ, рдХрд┐рд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЗ рд╕рд╛рде рд░рд╣рддрд╛ рд╣реИред рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдмреИрдХрдПрдВрдб рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред рджреЗрдЦрддреЗ рд░рд╣реЛ!