рдкреНрд░рднрд╛рд╡реА рдЙрджреНрдпрдо рдкрд░реАрдХреНрд╖рдг рдкрд░ рд╡рд┐рдЪрд╛рд░

рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░!

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

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

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


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

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

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

рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рд╕реАрдорд╛рдПрдБ


рдЪрд╛рд╣реЗ рдЬреЛ рд╕рдорд╛рдзрд╛рди рдЪреБрдирд╛ рдЬрд╛рдПрдЧрд╛, рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдФрд░ рд╕реАрдорд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ:

  • , . , . , , .
  • , , . , , , . , , .
  • - . , , .
  • , , . : ┬л HTTP- gRPC, JSON - enterprise-, ..?тАЭ.
  • , , -. API, DSL .
  • ┬л ┬╗, , , , , , тАЬdevтАЭ debug () , dev Quarkus', Telepresence, watch-and-deploy (┬л ┬╗) .
  • . , , , , . .
  • , , -, , , . , , , .


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

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

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

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

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

рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг


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

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

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

рдпрд╣ рд╕рдм рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдПрдХ рд╡рд░реНрдЧ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХреЙрдлреА рдХреЗ рдХреНрд░рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рджреЛ рдЕрдиреНрдп рд╡рд░реНрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: CoffeeShopрдФрд░ OrderProcessorред



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

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдбрдмрд▓ рдХреНрд▓рд╛рд╕ рджрд┐рдЦрд╛рддрд╛ рд╣реИ CoffeeShop:

public class CoffeeShopTestDouble extends CoffeeShop {

    public CoffeeShopTestDouble(OrderProcessorTestDouble orderProcessorTestDouble) {
        entityManager = mock(EntityManager.class);
        orderProcessor = orderProcessorTestDouble;
    }

    public void verifyCreateOrder(Order order) {
        verify(entityManager).merge(order);
    }

    public void verifyProcessUnfinishedOrders() {
        verify(entityManager).createNamedQuery(Order.FIND_UNFINISHED, Order.class);
    }

    public void answerForUnfinishedOrders(List<Order> orders) {
        //     
    }
}

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

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

class CoffeeShopTest {

    private CoffeeShopTestDouble coffeeShop;
    private OrderProcessorTestDouble orderProcessor;

    @BeforeEach
    void setUp() {
        orderProcessor = new OrderProcessorTestDouble();
        coffeeShop = new CoffeeShopTestDouble(orderProcessor);
    }

    @Test
    void testCreateOrder() {
        Order order = new Order();
        coffeeShop.createOrder(order);
        coffeeShop.verifyCreateOrder(order);
    }

    @Test
    void testProcessUnfinishedOrders() {
        List<Order> orders = Arrays.asList(...);
        coffeeShop.answerForUnfinishedOrders(orders);

        coffeeShop.processUnfinishedOrders();

        coffeeShop.verifyProcessUnfinishedOrders();
        orderProcessor.verifyProcessOrders(orders);
    }

}

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

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

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

All Articles