рдХреИрд╕реЗ рджреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рд░реЛрдЯреА рд╕реЗрдВрдХреА



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

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

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

рдмрд┐рд▓реНрдХреБрд▓ рдРрд╕рд╛, рдпрд╣ рдЙрддреНрдкрд╛рджрди рдХреА рд╡рд┐рдзрд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ "рдХрд┐рдпрд╛ рдЧрдпрд╛" рдерд╛ред

рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ?



рдмреЛрд░рд┐рд╕ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдЕрдореВрд░реНрдд рдмрдирд╛рддрд╛ рд╣реИ - рдЙрддреНрдкрд╛рдж рд╡рд░реНрдЧ, рд╡рд╣ рдмреНрд░реЗрдб рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдФрд░ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, ProductFactory рд╡рд░реНрдЧ рдХрд╛ рдХрд╛рд░рдЦрд╛рдирд╛ рддрд░реАрдХрд╛ - createProduct ()ред

рдорд╛рд░реНрдХрд╕ рдЙрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмреНрд░реЗрдб рдХреНрд▓рд╛рд╕ рдФрд░ рдореИрдиреЗрдЬрд░ рдХреНрд▓рд╛рд╕ рдХреЛ рдлреИрдХреНрдЯреНрд░реА рдХреНрд░рд┐рдПрдЯрдмреНрд░реЗрдб () рд╡рд┐рдзрд┐ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИред

рдЬрдмрдХрд┐ рдЕрдВрддрд░ рдиреНрдпреВрдирддрдо рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рдмрдВрдзрдХ, рдЧреНрд░рд╛рд╣рдХ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдереЛрдбрд╝реА рдЧрд╣рд░реА рд╕рдордЭ рд░рдЦрддрд╛ рд╣реИ (рдРрд╕рд╛ рдХреЗрд╡рд▓ рдЙрд╕реЗ, рд╣рд╛рдБ) рд▓рдЧрддрд╛ рд╣реИ, рдПрдХ рджреВрд╕рд░реА рдмрд╛рд░ рдЖрддрд╛ рд╣реИ рдФрд░ рдХрд╣рддрд╛ рд╣реИ:
- рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рд░реЛрдЯреА рди рдХреЗрд╡рд▓ рдмрдирд╛рдИ рдЬрд╛рдП, рдмрд▓реНрдХрд┐ рдУрд╡рди рдореЗрдВ рдкрдХрд╛рдпрд╛ рдЬрд╛рдПред

рдФрд░ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛ рдХрд┐ рд░реЛрдЯреА рд╡реИрдХреНрдпреВрдо рдореЗрдВ рдмреЗрдХ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдУрд╡рди рдореЗрдВ? рдЕрдЪреНрдЫрд╛, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ?



рдмреЛрд░рд┐рд╕ ProductFactory рд╡рд░реНрдЧ рдХреЛ рдУрд╡рди рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЕрдореВрд░реНрдд рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ - AbstractOvenред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрдВрджрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╣ createProduct () рд╡рд┐рдзрд┐ рдХреЛ bakeProduct () рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдмреЛрд░рд┐рд╕ рдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ "рдПрдмреНрд╕рдЯреНрд░реИрдХреНрд╢рди рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖рдг" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде "рдПрдмреНрд╕рдЯреНрд░реИрдХреНрдЯ рдлреИрдХреНрдЯреНрд░реА" рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬреИрд╕рд╛ рдХрд┐ рд╕рд╛рд╣рд┐рддреНрдп рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдЕрдЪреНрдЫрд╛ рдХрд┐рдпрд╛, рдмреЛрд░рд┐рд╕ред

рд▓реЗрдХрд┐рди рдорд╛рд░реНрдХрд╕ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ред рдЙрдирдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред рдареАрдХ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ createBread () рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджреЗред

рдЪрдВрджреНрд░рдорд╛ рдХрд╛ рдЪрд░рдг рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рдмрдВрдзрдХ рддреАрд╕рд░реА рдмрд╛рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдкрд╛рд╕ рдЖрддрд╛ рд╣реИред рд╡рд╣ рдХрд╣рддрд╛ рд╣реИ:
- рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдЯреЛрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдареАрдХ рд╣реИ, рдареАрдХ рд╣реИред



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

рдорд╛рд░реНрдХрд╕ рднреА рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдкреВрд░реНрдгрд╛рдВрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдУрд╡рдирдЯрд╛рдЗрдк рдмрдирд╛рддрд╛ рд╣реИ createBread рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдПред

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



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

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

рд▓реЗрдХрд┐рди рдХреБрдЫ рджрд┐рдиреЛрдВ рдмрд╛рдж, рдкреНрд░рдмрдВрдзрдХ рдкрд╛рдВрдЪрд╡реАрдВ рдмрд╛рд░ рдЖрддрд╛ рд╣реИ, рдФрд░, рдЕрдкрдиреЗ рд╣реЛрдВрдареЛрдВ рдХреЛ рдкреВрд░рд╛ рдЪрд╛рдЯрддрд╛ рд╣реИ, рдХрд╣рддреЗ рд╣реИрдВ:
- рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдУрд╡рди рднреА рдкреЗрдХ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ (рдорд╛рдВрд╕ рдХреЗ рд╕рд╛рде, рдЕрд▓рдЧ рд╕реЗ - рдЧреЛрднреА рдХреЗ рд╕рд╛рде), рдФрд░ рдХреЗрдХ рдмреЗрдХ рдХрд░ рд╕рдХреЗрдВред

рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рднреА рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдХрд╛рдо рдкрд░ рд▓рдЧ рдЬрд╛рддреЗ рд╣реИрдВред



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

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

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



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

рдФрд░ рдорд╛рд░реНрдХрд╕ (рдЖрдк рдЗрд╕ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) рдХреНрд░рд┐рдПрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдкреВрд░реНрдгрд╛рдВрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ - рдиреБрд╕реНрдЦрд╛ред

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



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

рдорд╛рдХреНрд░реНрд╕ рднреА рдЗрддрдиреЗ рдЪрд┐рдХрдиреЗ рдирд╣реАрдВ рд╣реЛрддреЗред рдЙрд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рд╡рд░реНрдЧ рдореЗрдВ рддреАрд╕рд░рд╛ (!) рдмрдирд╛рдирд╛ рд╣реИред рд╡рд╣ рдЗрд╕реЗ рдмреНрд░рд┐рдХ рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рдореЗрдХрдмреНрд░рд┐рдХ рд╡рд┐рдзрд┐ рдХреЛ рдЕрдкрдиреЗ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

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

рдореИрдВ рдЬреЛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╡рд╣ рд╢рд╛рдпрдж рдереЛрдбрд╝рд╛ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИред

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

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

рдФрд░ рд╕рдм рдХреБрдЫ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╡рд╣, - рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдордп рдореЗрдВ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рд╕реЗ рддрд╕реНрд╡реАрд░ рд▓реА

рдпреБрдкреАрдбреАред рдпрд╣ рдмрд╣реБрдд рд╕реБрдЦрдж рд╣реИ рдХрд┐ рд▓реЗрдЦ рдХреЛ рдЗрддрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рдорд┐рд▓реАрдВред рдпрд╣рд╛рдВ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд╛рд╕реНрдХреЗрд▓ рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди, рд▓реЗрдХрд┐рди рд╕реВрдЪреА рдкрд░ред

UPD.2 рдФрд░ рдпрд╣рд╛рдБ C # рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдФрд░ рдХреМрди?

UPD.3 рдорд╛рд░реНрдХрд╕ рдФрд░ YAGNI рдХреА рд░реЛрдЯреА

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


All Articles