10 рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

10 рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

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

рдЕрдиреБрд╕реНрдорд╛рд░рдХ: рд╕рднреА Habr рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП - Habr рдкреНрд░рдЪрд╛рд░ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдирд╛рдорд╛рдВрдХрди рдХрд░рдиреЗ рдкрд░ 10 рд░реВрдмрд▓ рдХреА рдЫреВрдЯред

рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ: рд╢реИрдХреНрд╖рд┐рдХ рдСрдирд▓рд╛рдЗрди рдкрд╛рдареНрдпрдХреНрд░рдо "рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░".

рд╕реВрдЦрд╛ (рдЕрдкрдиреЗ рдЖрдк рдХреЛ рджреЛрд╣рд░рд╛рдПрдБ рдирд╣реАрдВ)

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

рдпрджрд┐ рдХреЛрдб рдореЗрдВ рджреЛ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрднрд╛рдЧ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред

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

рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди

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

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

рдЦреБрд▓рд╛/рдмрдВрдж рд╕рд┐рджреНрдзрд╛рдВрдд

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

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

рдпрд╣рд╛рдВ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИред

10 рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдХреЗ рд╕рднреА рдЕрдиреБрднрд╛рдЧ рдЬрд┐рдирдХрд╛ рд╡рд╛рдВрдЫрд┐рдд рдЦрдВрдб рд╕реЗ рд╕рдВрдмрдВрдз рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

рд╡реИрд╕реЗ, рдЦреБрд▓рд╛рдкрди-рдмрдВрджрдкрди SOLID рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

рдПрдХрд▓ рдЙрддреНрддрд░рджрд╛рдпрд┐рддреНрд╡ рд╕рд┐рджреНрдзрд╛рдВрдд (SRP)

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

10 рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

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

рдирд┐рд░реНрднрд░рддрд╛ рдЙрд▓рдЯрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд (рдбреАрдЖрдИрдкреА)

10 рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

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

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

рдбреАрдЖрдИрдкреА рдирд┐рд░реНрднрд░рддрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрджрд▓рдХрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореЙрдбреНрдпреВрд▓ рдХреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рджреВрд╕рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреЗ рдмрдЬрд╛рдп рд░рдЪрдирд╛

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

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

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреЛрд╢реБрдЖ рдмрд▓реЛрдЪ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдЗрдлреЗрдХреНрдЯрд┐рд╡ рдЬрд╛рд╡рд╛ рднреА рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд░рдЪрдирд╛ рдХреЛ рдЪреБрдирдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИред

рдмрд╛рд░рдмрд░рд╛ рд▓рд┐рд╕реНрдХреЛрд╡ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рд┐рджреНрдзрд╛рдВрдд (LSP)

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

рдПрд▓рдПрд╕рдкреА рдПрдХрд▓ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рд╕рд╛рдЭрд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕рд┐рджреНрдзрд╛рдВрдд рджреЛрдиреЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╡рд░реНрдЧ рдЙрдкрд╡рд░реНрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддреЗ рд╣реБрдП рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдпрд╣рд╛рдВ рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ рдПрд▓рдПрд╕рдкреА рдХрд╛ рдЦрдВрдбрди рдХрд░рддрд╛ рд╣реИред

10 рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

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

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

рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреГрдердХреНрдХрд░рдг рд╕рд┐рджреНрдзрд╛рдВрдд (ISP)

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

рдЕрдХреНрд╕рд░, рдпрд╣ рд╕реНрдерд┐рддрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрдИ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЪреВрдБрдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд┐рдЦрдирд╛ рдПрдХ рдХрдард┐рди рдХрд╛рдо рд╣реИ, рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдмрд┐рдирд╛ рдХреБрдЫ рддреЛрдбрд╝реЗ рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдПрдХ рдЪреБрдиреМрддреА рд╣реЛрдЧреАред

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

10 рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдирд╛рдо рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИред рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рд▓рдЪреАрд▓реЗ рдХреЛрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд┐рд╕реА рднреА рдирдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЖрдкрдХреЛ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕, рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рдпрд╛ рд╡рд┐рдзрд┐ рддрд░реНрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдЙрджрд╛рд╣рд░рдг SubClass рдХреЗ рдмрдЬрд╛рдп SuperClass рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ:

рд╕реВрдЪреА рд╕рдВрдЦреНрдпрд╛рдПрдБ = getNumbers();

рдФрд░ рдирд╣реАрдВ:

ArrayList рдирдВрдмрд░ = getNumbers();

рдКрдкрд░ рдЬреЛ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ рдЙрд╕рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

10 рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд

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

рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдХрд╛ рджреЛрд╣рд░рд╛рд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╣реИред рдпрд╣ рдЗрд╡реЗрдВрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред

10 рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

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

рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ:

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ