Upload
ciklum
View
467
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
FubuMVC — нафига оно мне?!
Сергей Калинецhttp://tdd4.net @skalinets
Кто придумал?
Joshua Arnold Brandon Behrens Alex Henning Johannessen Sam Merrell Jeremy Miller Mike Murray Chad Myers Ryan Rauh Dru Sellers
For Us, By Us
For Us, By Us
Идеология
Тонкие контролеры
Никаких магических и прочих строк
Типизированные View
Контроллеры ничего о View не знают
Контроллеров нет
View – тоже может не быть
Преимущества
Оно простое
Convention over configuration
Не нужно наследоваться (simple TDD)
Строгая типизация (no magic strings)
Реальный underground (ALT.NET )
Недостатки
Нет документации
Слабая поддержка в студии
Ключевые моменты
Action Calls
Behavior Chains
Conventions
Action Calls
Нет контроллеров
Обычные .NET классы и методы
Одна (ноль) модель на входе и одна (ноль) — на выходе
Месторасположение класса значения не имеет
Ищутся по соглашениям
Behaviors Chains
Простые, но мощные
Вкладываются друг в друга
Могут контролировать вызов друг друга
Conventions
Есть много встроенных
Можно добавить свои
Регистрируются в одном месте
Создаем приложение
New empty asp.net project
Install-package FubuMVC.References
Add new Global application file
Setup FubuMVC
Hello World
Add ActionCall (any class, any method)
Set Home
Diagnostics
Custom Routes
Default Conventions
Post/get
Routes
Html output
HtmlTags
Models
One model in / one model out
Model binding
Default properties (UserAgent)
Views
Install-Package FubuMvc.Spark
this.UseSpark()
Enable views
Add spark view for model
Forms
Adding Post handler with input model
Url Helpers
Html Helpers DisplayFor/InputFor
Html Conventions
Behavior Chains
Implement IActionBehavior or inherit from BasicBehavior
Add it to Policies
InnerBehavior is set by magic (DI container)
Так нафига оно мне?
Convention over configuration => DRY
Strong typing => профит
Здорово расширяет кругозор