рд░рд┐рд╕рд░реНрдкрд░ рдФрд░ IoC рдХрдВрдЯреЗрдирд░: рдЕрдм рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ! рдпрд╛ рдПрдЬреЗрдВрдЯ Mulder рдкреНрд▓рдЧрдЗрди

рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реИ

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, Resharper рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╕рднреА рдирд╣реАрдВред

рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ, рдмрд╣реБрдд рд╣рд▓ рдирд╣реАрдВ рд╣реИ, рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЖрдИрдУрд╕реА рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╣реИред



рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ (Microsoft рдХреЗ рдПрдХрддрд╛ IoC рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред
  IUnityContainer container = new UnityContainer(); container.RegisterType<IMovieRepository, InMemoryMovieRepository>(); container.RegisterType<IMovieFinder, MovieFinder>(); 
IUnityContainer container = new UnityContainer(); container.RegisterType<IMovieRepository, InMemoryMovieRepository>(); container.RegisterType<IMovieFinder, MovieFinder>();


рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, Resharper рдХреЛ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ "MovieFinder рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ (Find Usages рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛) " Usages of 'MovieFinder (...)' рдирд╣реАрдВ рдорд┐рд▓рд╛ ред "
  public class MovieFinder: IMovieFinder { readonly IMovieRepository repository; public MovieFinder(IMovieRepository repository) { this.repository = repository; } ... } 
public class MovieFinder: IMovieFinder { readonly IMovieRepository repository; public MovieFinder(IMovieRepository repository) { this.repository = repository; } ... }



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

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

рдПрдЬреЗрдВрдЯ Mulder рдкреНрд▓рдЧрдЗрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмреАрдЪ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рддреЛ, рдкреНрд▓рдЧрдЗрди 3 рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

1. рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдорд╛рд░реНрдХ рдХрдХреНрд╖рд╛рдПрдВ:
рдЫрд╡рд┐

2. рдкрдВрдЬреАрдХрд░рдг рдХреА рдЬрдЧрд╣ рдкрд░ рдХрдХреНрд╖рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

3. рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкрдВрдЬреАрдХрд░рдг рд╕реЗ рдХрдХреНрд╖рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рддрдХ рдиреЗрд╡рд┐рдЧреЗрд╢рдиред
рдЫрд╡рд┐

рд╕рдм рдХреБрдЫ рдЬрд▓реНрджреА рдФрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрднреА-рдХрднреА (VS2010 + Reshaper 6.1) рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрди рдХрдорд┐рдпреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЦрддреНрдо рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЪреАрдЬ рдШрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИред

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

рдкреНрд▓рдЧрдЗрди рд╕рд╛рдЗрдЯ: http://hmemcpy.github.com/AgentMulder/ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд╡рд░реНрдгрди рд╣реИред рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╣реИ рдЬреЛ рдФрд░ рднреА рдЖрд╕рд╛рди рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред

рдкреНрд▓рдЧрдЗрди рдкрд╣рд▓реЗ рд╣реА Resharper рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрд╣реБрдВрдЪ рдЪреБрдХрд╛ рд╣реИред рдореИрдВрдиреЗ рд╡рд╣рд╛рдВ 17 рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдЧрд┐рдирд╛, рдЙрдирдореЗрдВ рд╕реЗ 4 рдПрдЬреЗрдВрдЯ рд╣реИрдВред

рд╕рдорд░реНрдерд┐рдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдпрд╣рд╛рдВ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ https://raw.github.com/hmemcpy/AgentMulder/master/WhatsNew.txt ред
рд╡реИрд╕реЗ, рдЕрдЪреНрдЫреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЖрдИрдУрд╕реА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рд╕рд┐рд╕реНрдЯрдо рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ :)ред

Mezastel рд╕реЗ рд╡рд┐рд╕реНрддреГрдд рд╡реАрдбрд┐рдпреЛ " рджрд┐рдорд┐рддреНрд░реА рдиреЗрд╕реНрдЯрд░реБрдХ ред рд░рд┐рд╕реНрдкрд░рд░ : рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдВрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ ", рдкреНрд▓рдЧ-рдЗрди рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рдкрд░рд┐рдЪрдп рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрдЧреЛрд░ред

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


All Articles