.NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдСрдирд▓рд╛рдЗрди рд╕рдореНрдореЗрд▓рди рдХреА рд╕рд╛рдордЧреНрд░реА

4th .NETconf 28 рдЕрдкреНрд░реИрд▓ 2012 рдХреЛ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдХ рдСрдирд▓рд╛рдЗрди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдерд╛ ред рдЗрд╕рдиреЗ рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдиреБрдорддрд┐ рджреА рдЬреЛ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП 3 рдкрд┐рдЫрд▓реА рдмреИрдардХреЛрдВ рдореЗрдВ рдЙрдбрд╝рд╛рди рдирд╣реАрдВ рднрд░ рд╕рдХреЗред 7 рднрд╛рд╖рдгреЛрдВ рдХреЗ рдкреНрд░рд╕рд╛рд░рдг рдХреЗ рджреМрд░рд╛рди, рд╕рдореНрдореЗрд▓рди рдореЗрдВ 508 рд▓реЛрдЧреЛрдВ рдиреЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рднрд╛рдЧ рд▓рд┐рдпрд╛ред

рдиреАрдЪреЗ 6 рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╡реАрдбрд┐рдпреЛ, рд╕реНрд▓рд╛рдЗрдб рдФрд░ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕ рд╣реИрдВ ред



рд░рд┐рдкреЛрд░реНрдЯ



рдЖрдк рд╡реЗрдмрд╕рд╛рдЗрдЯ www.dotnetconf.ru рдкрд░ рд╕рднреА рдмреИрдардХреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ

1. NHibernateред рдПрдХ рд╕рд╛рде рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╛ рдирд┐рджрд╛рди рдФрд░ рд╕рдВрдШрд░реНрд╖ рд╕рдорд╛рдзрд╛рди



рд╡рдХреНрддрд╛: рд░реБрд╕реНрд▓рд╛рди рд╕рдлрд╝реАрди

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

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

рд╕реНрд░реЛрдд рдХреЛрдб: www.dropbox.com/s/f559dz0x3vl4dui/hibernateConf.rar





www.dotnetconf.ru/Materialy/NHibernate_diagnostic




2. рд╣рдо рдЕрдиреБрдорддрд┐ рдХреА рд╕реАрдорд╛рдУрдВ рд╕реЗ рдкрд░реЗ рдЬрд╛рддреЗ рд╣реИрдВред NPAPI, NaCl рдФрд░ рдЕрдиреНрдп рдбрд░рд╛рд╡рдиреЗ рд╢рдмреНрдж



рд╡рдХреНрддрд╛: рддреИрдореВрд░ рд░рдЦрд╝рдорддрд┐рд▓рд╛рд╡

рд░рд┐рдкреЛрд░реНрдЯ рджрд┐рдЦрд╛рдПрдЧреА рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧреА рдХрд┐ рдХреИрд╕реЗ рдорд╛рдирдХ ASP.NET MVC3 рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП C ++ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рджреЗрд╢реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред FireBreath рдлреНрд░реЗрдорд╡рд░реНрдХ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рд▓рдЪреАрд▓рд╛, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред C ++ рдореЗрдВ рджреЗрд╢реА рдХреЛрдб рдХреЗ рд╕рд╛рде C # рдореЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдЫреБрдЖ рдЬрд╛рдПрдЧрд╛, рд╕рд╛рде рд╣реА рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕реЗ C ++ / C # рдореЗрдВ рдХреЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрдкрд░реЛрдХреНрдд рддрдХрдиреАрдХреЛрдВ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдкреНрд▓рдЧ-рдЗрди рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реНрдХреИрдирд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

рдЯреЗрд╕реНрдЯ рдкреНрд▓рдЧрдЗрди рдХреЛрдб: www.dropbox.com/s/4brqpdok43d2i8u/TestPlugin.7z





www.dotnetconf.ru/Materialy/Vihodim_za_granicy_NPAPI_NaCl




3. рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ CQRS



рд╡рдХреНрддрд╛: рд░рд┐рдиреИрдЯ рдЕрдмреНрджреБрд▓рд┐рди

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

CQRS рдЙрджрд╛рд╣рд░рдг - .NET / C # - lokad.github.com/lokad-cqrs





www.dotnetconf.ru/Materialy/Practical_CQRS




4. рдорд╛рд╕реНрдЯрд░ рд╡рд░реНрдЧ: рд╣рдо рд╕рд┐рдЧреНрдирд▓-рдЖрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░-рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреЗ рд╣реИрдВ



рд╡рдХреНрддрд╛: рддреИрдореВрд░ рд░рдЦрд╝рдорддрд┐рд▓рд╛рд╡

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

рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010, ASP.NET MVC3 рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ VS2010, Nuget рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдВред

рд╕реНрд░реЛрдд рдХреЛрдб: github.com/Eskat0n/dotnetconf-signalr-example

рдЕрдиреБрд╡рд╛рдж рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд╕рдордп рд╕реНрд░реЛрдд рдХреЛрдб: github.com/downloads/Eskat0n/dotnetconf-signalr-example/28.04.2012.7z





www.dotnetconf.ru/Materialy/SignalR




5. рдЕрд░реЗрдВрдЬ-рдПрдХреНрдЯ-рдПрд╕реНрдЯрд░ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрд░рдЪрдирд╛ рдкрд░реАрдХреНрд╖рдг



рд╡рдХреНрддрд╛: рдЕрд░реНрдЯреЗрдо рд╕реНрдорд┐рд░рдиреЛрд╡

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

рд╕реНрд░реЛрдд рдХреЛрдб: github.com/gregoryyoung/Simple.Testing





www.dotnetconf.ru/Materialy/Test_Arrange_Act_Assert




6. рдЕрдиреБрдмрдВрдз рджреНрд╡рд╛рд░рд╛ рдбрд┐рдЬрд╛рдЗрди



рд╡рдХреНрддрд╛: рд╕рд░реНрдЧреЗрдИ рдЯреЗрдкреНрд▓рд╛рдХреЛрд╡

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





www.dotnetconf.ru/Materialy/Programming_By_Contract




7. рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЙрдбрд▓



рд╡рдХреНрддрд╛: рдПрд╡рдЧреЗрдиреА рдХреНрд░рд┐рд╡реЛрд╢реЗрд╡

рдЖрдЬ рд╣рдо рд╡рд┐рдХрд╛рд╕ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЕрдХреНрд╕рд░ рддрдХрдиреАрдХреА рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд░реНрдгрдп рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдбреЙрдХрд┐рдВрдЧ рд╣реЛрддреА рд╣реИред рд╣рдо рдЕрдХреНрд╕рд░ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЪрд╛рд░реЛрдВ рдУрд░ - рдареЛрд╕ рд╕рд╡рд╛рд▓ "рд╕реНрдХреНрд░реИрдо рдпрд╛ рдХрд╛рдирдмрди? рдХреИрд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░рдЦрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдХреЛрдИ рддрдХрдиреАрдХреА рдЛрдг рди рд╣реЛ? рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдХреЛ рд╕реВрдЪрд┐рдд рдФрд░ рд╕рд╣реА рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рд╕рд┐рдЦрд╛рдирд╛ рд╣реИ? рдХреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП? "

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

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





www.dotnetconf.ru/Materialy/Design_Process_Models




рд╕рдореАрдХреНрд╖рд╛



рдореБрдЭреЗ 76 рд╕рдореАрдХреНрд╖рд╛рдПрдБ рдорд┐рд▓реАрдВ ред рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреА рд░рд╛рдп рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рд▓рд┐рдпрд╛! рдЕрдзрд┐рдХрд╛рдВрд╢ рдиреЗ рд╕рдВрдЧрдардирд╛рддреНрдордХ рдореБрджреНрджреЛрдВ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдкрд░ рд╡реНрдпрд╛рдкрдХ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд▓рд┐рдЦреАрдВред

рдкреНрд░рд╢реНрдирд╛рд╡рд▓реА рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдХрд╣рд╛ рдХрд┐ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:


рдореИрдВ рдЕрдЧрд▓реА рдмреИрдардХ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрдардирд╛рддреНрдордХ рдореБрджреНрджреЛрдВ рдкрд░ рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдЙрдкрд╣рд╛рд░



рдЗрд╕ рдмрд╛рд░ рдЙрдкрд╣рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ JetBrains рд╕реЗ .NET-products рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ 2 рд╕реЗрдЯ рдереЗред рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: ReSharper, dotTrace рдкреНрд░рджрд░реНрд╢рди, dotTrace рдореЗрдореЛрд░реА рдФрд░ dotCoverред рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЦреБрдж рдХреЛ рджреЗрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ :)

рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрди рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд░реВрдкреЛрдВ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:


рдЖрдкрдХреА рдЦрд░реАрдж рдкрд░ рдмрдзрд╛рдИ! рдлрд╝реАрдбрдмреИрдХ рдлрд╝реЙрд░реНрдо рдореЗрдВ рдЗрдВрдЧрд┐рдд рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрдиреНрд╣реЗрдВ рдкреБрд░рд╕реНрдХрд╛рд░ рднреЗрдЬреЗ рдЧрдП рдереЗред

рд╡рд┐рд╕реНрддрд╛рд░



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

рд╕рднреА рдмреИрдардХреЛрдВ рдореЗрдВ рднрд╛рдЧреАрджрд╛рд░реА рдереА рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрдЧреАред рд░рдЦрд░рдЦрд╛рд╡ рджрд╛рди рдХреА рдХреАрдордд рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╕рдореНрдореЗрд▓рди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджрд╛рд╣рд┐рдиреЗ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдмрдЯрди рд╣реИ), рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рднреА рдореБрдЭреЗ рдирд╣реАрдВ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдХреМрди рд╕реА рд░рд┐рдкреЛрд░реНрдЯреЗрдВ рд▓реЗрдиреА рд╣реИрдВ рдФрд░ рдХреМрди рд╕реЗ "рд╣рдорд╛рд░реЗ рд╣рд┐рддреЛрдВ" рдХрд╛ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рд╣реИред

рдпрджрд┐ рдЖрдк .NET рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдПрдХ рд╡рд┐рд╖рдп рд▓рд┐рдЦреЗрдВ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдмреЛрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдПрдХ рдФрд░ рдмреИрдардХ рдЖрдпреЛрдЬрд┐рдд рдХрд░реВрдВрдЧрд╛ред рдореЗрд░реЗ рд╕рдВрдкрд░реНрдХ www.dotnetconf.ru/Contacts

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


All Articles