рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрд▓рдЯрд╛

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

рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддрд╛ рдерд╛:

#ruby puts 'What is your name?' name = gets process_name(name) puts 'What is your quest?' quest = gets process_quest(quest) 


рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдореЗрд░рд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрдм рд╕рд╡рд╛рд▓ рдкреВрдЫрдирд╛ рд╣реИ, рдХрдм рдЬрд╡рд╛рдм рдкрдврд╝рдирд╛ рд╣реИ, рдФрд░ рдХрдм рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЧрд░ рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЦрд┐рдбрд╝рдХреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬрд╝ рд▓рд┐рдЦреВрдВрдЧрд╛:
  require 'tk' root = TkRoot.new() name_label = TkLabel.new() {text "What is Your Name?"} name_label.pack name = TkEntry.new(root).pack name.bind("FocusOut") {process_name(name)} quest_label = TkLabel.new() {text "What is Your Quest?"} quest_label.pack quest = TkEntry.new(root).pack quest.bind("FocusOut") {process_quest(quest)} Tk.mainloop() 

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

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

рд░рд╛рд▓реНрдл рдЬреЙрдирд╕рди рдФрд░ рдмреНрд░рд╛рдпрди Footeред


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

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

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

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

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

EJBs рдирд┐рдпрдВрддреНрд░рдг рд╡реНрдпреБрддреНрдХреНрд░рдо рдХреА рдЗрд╕ рд╢реИрд▓реА рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдПрдХ рд╕рддреНрд░ рдмреАрди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ EJB рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмрд┐рдВрджреБрдУрдВ / рд░рд╛рдЬреНрдпреЛрдВ рдкрд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SessionBean рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ ejbRemove , ejbPassivate (рд╕реЗрдХреЗрдВрдбрд░реА рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕реЗрд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛) рдФрд░ ejbActivate (рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЕрд╡рд╕реНрдерд╛ рд╕реЗ рдмрд╣рд╛рд▓) рддрд░реАрдХреЗ рд╣реИрдВред рдЖрдк рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдХреЙрд▓ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреЗрд╡рд▓ рд╡реЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдХрдВрдЯреЗрдирд░ рд╣рдореЗрдВ рдХрд╣рддрд╛ рд╣реИ, рди рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВред

рдЕрдиреБрд╡рд╛рдж рдиреЛрдЯ, рдЙрджрд╛рд╣рд░рдг:
 public class EjbExample implements SessionBean { public void ejbActivate() throws EJBException, RemoteException { // do some processing on session object became active } public void ejbPassivate() throws EJBException, RemoteException { // do some processing on session object became passive } public void ejbRemove() throws EJBException, RemoteException { // do some processing before the end of life of session object } public void setSessionContext(SessionContext sessionContext) throws EJBException, RemoteException { // interface dependency injection } } 

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

рдЕрдиреБрд╡рд╛рдж рдиреЛрдЯ, рдЙрджрд╛рд╣рд░рдг:
 public class SomeTest extends TestCase { protected void setUp() throws Exception { super.setUp(); // make some preparation for the test, eg setup database connection } public void testSomeLogic() { // test some functionality } protected void tearDown() throws Exception { // cleanup after test has finished super.tearDown(); } } 

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

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

UPD: рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝реЗ рдЧрдПред

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


All Articles