SlideShare une entreprise Scribd logo
1  sur  20
Сергей Калинец
http://tdd4.net
@skalinets
   Joshua Arnold
   Brandon Behrens
   Alex Henning Johannessen
   Sam Merrell
   Jeremy Miller
   Mike Murray
   Chad Myers
   Ryan Rauh
   Dru Sellers
   Тонкие контролеры
   Никаких магических и прочих строк
   Типизированные View
   Контроллеры ничего о View не знают
   Контроллеров нет
   View – тоже может не быть 
   Оно простое

   Convention over configuration

   Не нужно наследоваться (simple TDD)

   Строгая типизация (no magic strings)

   Реальный underground (ALT.NET )
   Нет документации

   Слабая поддержка в студии
   Action Calls

   Behavior Chains

   Conventions
   Нет контроллеров
   Обычные .NET классы и методы
   Одна (ноль) модель на входе и одна (ноль) —
    на выходе
   Месторасположение класса значения не
    имеет
   Ищутся по соглашениям
   Простые, но мощные

   Вкладываются друг в друга

   Могут контролировать
    вызов друг друга
   Есть много встроенных

   Можно добавить свои

   Регистрируются в одном месте
   New empty asp.net project

   Install-package FubuMVC.References

   Add new Global application file

   Setup FubuMVC
   Add ActionCall (any class, any method)

   Set Home

   Diagnostics

   Custom Routes
   Post/get

   Routes

   Html output

   HtmlTags
   One model in / one model out


   Model binding


   Default properties (UserAgent)
   Install-Package FubuMvc.Spark

   this.UseSpark()

   Enable views

   Add spark view for model
   Adding Post handler with input model

   Url Helpers

   Html Helpers DisplayFor/InputFor

   Html Conventions
   Implement IActionBehavior or inherit from
    BasicBehavior

   Add it to Policies

   InnerBehavior is set by magic (DI container)
   Convention over configuration => DRY


   Strong typing => профит


   Здорово расширяет кругозор
@skalinets
http://tdd4.net

Contenu connexe

En vedette

En vedette (7)

XP (IT Brunch)
XP (IT Brunch)XP (IT Brunch)
XP (IT Brunch)
 
Alex Pazhyn: Google_Material_Design
Alex Pazhyn: Google_Material_DesignAlex Pazhyn: Google_Material_Design
Alex Pazhyn: Google_Material_Design
 
"Through the three circles of the it hell" by Roman Liashenko
"Through the three circles of the it hell" by Roman Liashenko"Through the three circles of the it hell" by Roman Liashenko
"Through the three circles of the it hell" by Roman Liashenko
 
OOP paradigm, principles of good design and architecture of Java applications
OOP paradigm, principles of good design and architecture of Java applicationsOOP paradigm, principles of good design and architecture of Java applications
OOP paradigm, principles of good design and architecture of Java applications
 
Tech Lead role for Agile success
Tech Lead role for Agile successTech Lead role for Agile success
Tech Lead role for Agile success
 
TDD for DB integration
TDD for DB integrationTDD for DB integration
TDD for DB integration
 
Functional programming in C#
Functional programming in C#Functional programming in C#
Functional programming in C#
 

Similaire à CiklumNetSat17032012SergeyKalinets- FubuMVC

Референсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCРеференсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVC
Andrew Mayorov
 
Создаем работающую сеть безопасности
Создаем работающую сеть безопасностиСоздаем работающую сеть безопасности
Создаем работающую сеть безопасности
Vitaly Stakhov
 
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Dmytro Mindra
 
Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий
ARCCN
 
ZFConf 2011: Гибкая архитектура Zend Framework приложений с использованием De...
ZFConf 2011: Гибкая архитектура Zend Framework приложений с использованием De...ZFConf 2011: Гибкая архитектура Zend Framework приложений с использованием De...
ZFConf 2011: Гибкая архитектура Zend Framework приложений с использованием De...
ZFConf Conference
 
Бинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективыБинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективы
d_olex
 
Ridgeline 4 Presentation
Ridgeline 4 PresentationRidgeline 4 Presentation
Ridgeline 4 Presentation
MUK
 
Тимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОТимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПО
Yandex
 

Similaire à CiklumNetSat17032012SergeyKalinets- FubuMVC (20)

анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестирования
 
Референсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCРеференсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVC
 
Создаем работающую сеть безопасности
Создаем работающую сеть безопасностиСоздаем работающую сеть безопасности
Создаем работающую сеть безопасности
 
АРК-ПЗ-1.pptx
АРК-ПЗ-1.pptxАРК-ПЗ-1.pptx
АРК-ПЗ-1.pptx
 
Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в Magento
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
 
SDN технологии
SDN технологииSDN технологии
SDN технологии
 
Как devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеКак devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальше
 
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
 
Powershell, Graphs and more. Or how to find dependencies in your systems
Powershell, Graphs and more. Or how to find dependencies in your systemsPowershell, Graphs and more. Or how to find dependencies in your systems
Powershell, Graphs and more. Or how to find dependencies in your systems
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных систем
 
Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий
 
ZFConf 2011: Гибкая архитектура Zend Framework приложений с использованием De...
ZFConf 2011: Гибкая архитектура Zend Framework приложений с использованием De...ZFConf 2011: Гибкая архитектура Zend Framework приложений с использованием De...
ZFConf 2011: Гибкая архитектура Zend Framework приложений с использованием De...
 
Бинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективыБинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективы
 
Ridgeline 4 Presentation
Ridgeline 4 PresentationRidgeline 4 Presentation
Ridgeline 4 Presentation
 
Максим Игуменов – системный инженер Extreme Networks, «Примеры работающих при...
Максим Игуменов – системный инженер Extreme Networks, «Примеры работающих при...Максим Игуменов – системный инженер Extreme Networks, «Примеры работающих при...
Максим Игуменов – системный инженер Extreme Networks, «Примеры работающих при...
 
Тимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОТимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПО
 
Solid code via tdd
Solid code via tddSolid code via tdd
Solid code via tdd
 
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
 

Plus de Ciklum Ukraine

Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Ciklum Ukraine
 

Plus de Ciklum Ukraine (20)

"How keep normal blood pressure using TDD" By Roman Loparev
"How keep normal blood pressure using TDD" By Roman Loparev"How keep normal blood pressure using TDD" By Roman Loparev
"How keep normal blood pressure using TDD" By Roman Loparev
 
Your 1st Apple watch Application
Your 1st Apple watch ApplicationYour 1st Apple watch Application
Your 1st Apple watch Application
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Back to the future: ux trends 2015
Back to the future: ux trends 2015Back to the future: ux trends 2015
Back to the future: ux trends 2015
 
Developing high load systems using C++
Developing high load systems using C++Developing high load systems using C++
Developing high load systems using C++
 
Collection view layout
Collection view layoutCollection view layout
Collection view layout
 
Introduction to auto layout
Introduction to auto layoutIntroduction to auto layout
Introduction to auto layout
 
Groovy on Android
Groovy on AndroidGroovy on Android
Groovy on Android
 
Unit Testing: Special Cases
Unit Testing: Special CasesUnit Testing: Special Cases
Unit Testing: Special Cases
 
Material design
Material designMaterial design
Material design
 
Kanban development
Kanban developmentKanban development
Kanban development
 
Mobile sketching
Mobile sketching Mobile sketching
Mobile sketching
 
More UX in our life
More UX in our lifeMore UX in our life
More UX in our life
 
Model-View-Controller: Tips&Tricks
Model-View-Controller: Tips&TricksModel-View-Controller: Tips&Tricks
Model-View-Controller: Tips&Tricks
 
Unit Tesing in iOS
Unit Tesing in iOSUnit Tesing in iOS
Unit Tesing in iOS
 
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
 
Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Михаил Попчук "Cкрытые резервы команд или 1+1=3"Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Михаил Попчук "Cкрытые резервы команд или 1+1=3"
 
"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod..."To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
 
Why to join Ciklum?
Why to join Ciklum?Why to join Ciklum?
Why to join Ciklum?
 
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy""Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
 

CiklumNetSat17032012SergeyKalinets- FubuMVC

  • 2. Joshua Arnold  Brandon Behrens  Alex Henning Johannessen  Sam Merrell  Jeremy Miller  Mike Murray  Chad Myers  Ryan Rauh  Dru Sellers
  • 3.
  • 4.
  • 5. Тонкие контролеры  Никаких магических и прочих строк  Типизированные View  Контроллеры ничего о View не знают  Контроллеров нет  View – тоже может не быть 
  • 6. Оно простое  Convention over configuration  Не нужно наследоваться (simple TDD)  Строгая типизация (no magic strings)  Реальный underground (ALT.NET )
  • 7. Нет документации  Слабая поддержка в студии
  • 8. Action Calls  Behavior Chains  Conventions
  • 9. Нет контроллеров  Обычные .NET классы и методы  Одна (ноль) модель на входе и одна (ноль) — на выходе  Месторасположение класса значения не имеет  Ищутся по соглашениям
  • 10. Простые, но мощные  Вкладываются друг в друга  Могут контролировать вызов друг друга
  • 11. Есть много встроенных  Можно добавить свои  Регистрируются в одном месте
  • 12. New empty asp.net project  Install-package FubuMVC.References  Add new Global application file  Setup FubuMVC
  • 13. Add ActionCall (any class, any method)  Set Home  Diagnostics  Custom Routes
  • 14. Post/get  Routes  Html output  HtmlTags
  • 15. One model in / one model out  Model binding  Default properties (UserAgent)
  • 16. Install-Package FubuMvc.Spark  this.UseSpark()  Enable views  Add spark view for model
  • 17. Adding Post handler with input model  Url Helpers  Html Helpers DisplayFor/InputFor  Html Conventions
  • 18. Implement IActionBehavior or inherit from BasicBehavior  Add it to Policies  InnerBehavior is set by magic (DI container)
  • 19. Convention over configuration => DRY  Strong typing => профит  Здорово расширяет кругозор