SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Semelhante a Fubu mvc -- нафига оно мне

анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
 
Референсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCРеференсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCAndrew Mayorov
 
Создаем работающую сеть безопасности
Создаем работающую сеть безопасностиСоздаем работающую сеть безопасности
Создаем работающую сеть безопасностиVitaly Stakhov
 
АРК-ПЗ-1.pptx
АРК-ПЗ-1.pptxАРК-ПЗ-1.pptx
АРК-ПЗ-1.pptxrobete3065
 
Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0akrakovetsky
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в MagentoPavel Usachev
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Ontico
 
Как devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеКак devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеKirill Vechera
 
Тестируем код с 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 2012Dmytro Mindra
 
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 systemsAndrey Vernigora
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных системDima Dzuba
 
Управление корпоративной сетью на основе 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 PresentationMUK
 
Максим Игуменов – системный инженер Extreme Networks, «Примеры работающих при...
Максим Игуменов – системный инженер Extreme Networks, «Примеры работающих при...Максим Игуменов – системный инженер Extreme Networks, «Примеры работающих при...
Максим Игуменов – системный инженер Extreme Networks, «Примеры работающих при...ARCCN
 
Тимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОТимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОYandex
 
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...Iosif Itkin
 

Semelhante a Fubu mvc -- нафига оно мне (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...
 

Mais de Serhiy Kalinets

Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET МіфиSerhiy Kalinets
 
менеджеры против разработчиков
менеджеры против разработчиковменеджеры против разработчиков
менеджеры против разработчиковSerhiy Kalinets
 
путь Xp практика
путь Xp практикапуть Xp практика
путь Xp практикаSerhiy Kalinets
 
Уберинструментарий для тех, кому надоел MSBuild
Уберинструментарий для тех, кому надоел MSBuildУберинструментарий для тех, кому надоел MSBuild
Уберинструментарий для тех, кому надоел MSBuildSerhiy Kalinets
 
Путь XP практика
Путь XP практикаПуть XP практика
Путь XP практикаSerhiy Kalinets
 
Xp в brown field разработке
Xp в brown field разработкеXp в brown field разработке
Xp в brown field разработкеSerhiy Kalinets
 
Functional programming in C#
Functional programming in C#Functional programming in C#
Functional programming in C#Serhiy Kalinets
 
Даёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашаруДаёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашаруSerhiy Kalinets
 
Зачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версийЗачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версийSerhiy Kalinets
 
вкалывают роботы, счастлив человек (Team city)
вкалывают роботы,  счастлив человек (Team city)вкалывают роботы,  счастлив человек (Team city)
вкалывают роботы, счастлив человек (Team city)Serhiy Kalinets
 
Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!Serhiy Kalinets
 
TDD: Arrange Act Assert на примере Rhino Mocks
TDD: Arrange Act Assert на примере Rhino MocksTDD: Arrange Act Assert на примере Rhino Mocks
TDD: Arrange Act Assert на примере Rhino MocksSerhiy Kalinets
 

Mais de Serhiy Kalinets (18)

CI adventures in .NET
CI adventures in .NETCI adventures in .NET
CI adventures in .NET
 
Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET Міфи
 
менеджеры против разработчиков
менеджеры против разработчиковменеджеры против разработчиков
менеджеры против разработчиков
 
путь Xp практика
путь Xp практикапуть Xp практика
путь Xp практика
 
Уберинструментарий для тех, кому надоел MSBuild
Уберинструментарий для тех, кому надоел MSBuildУберинструментарий для тех, кому надоел MSBuild
Уберинструментарий для тех, кому надоел MSBuild
 
Xp fun
Xp funXp fun
Xp fun
 
Do you speak TDD
Do you speak TDDDo you speak TDD
Do you speak TDD
 
Путь XP практика
Путь XP практикаПуть XP практика
Путь XP практика
 
Xp в brown field разработке
Xp в brown field разработкеXp в brown field разработке
Xp в brown field разработке
 
Functional programming in C#
Functional programming in C#Functional programming in C#
Functional programming in C#
 
Ready for prod
Ready for prodReady for prod
Ready for prod
 
Даёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашаруДаёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашару
 
Clean code
Clean codeClean code
Clean code
 
Зачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версийЗачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версий
 
Мой Скрамбат
Мой СкрамбатМой Скрамбат
Мой Скрамбат
 
вкалывают роботы, счастлив человек (Team city)
вкалывают роботы,  счастлив человек (Team city)вкалывают роботы,  счастлив человек (Team city)
вкалывают роботы, счастлив человек (Team city)
 
Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!
 
TDD: Arrange Act Assert на примере Rhino Mocks
TDD: Arrange Act Assert на примере Rhino MocksTDD: Arrange Act Assert на примере Rhino Mocks
TDD: Arrange Act Assert на примере Rhino Mocks
 

Fubu mvc -- нафига оно мне

  • 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 => профит  Здорово расширяет кругозор