20
Сергей Калинец http://tdd4.net @skalinets

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

Embed Size (px)

Citation preview

Page 1: Fubu mvc -- нафига оно мне

Сергей Калинец

http://tdd4.net@skalinets

Page 3: Fubu mvc -- нафига оно мне
Page 4: Fubu mvc -- нафига оно мне
Page 5: Fubu mvc -- нафига оно мне

Тонкие контролеры

Никаких магических и прочих строк

Типизированные View

Контроллеры ничего о View не знают

Контроллеров нет

View – тоже может не быть

Page 6: Fubu mvc -- нафига оно мне

Оно простое

Convention over configuration

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

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

Реальный underground (ALT.NET )

Page 7: Fubu mvc -- нафига оно мне

Нет документации

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

Page 8: Fubu mvc -- нафига оно мне

Action Calls

Behavior Chains

Conventions

Page 9: Fubu mvc -- нафига оно мне

Нет контроллеров

Обычные .NET классы и методы

Одна (ноль) модель на входе и одна (ноль) —на выходе

Месторасположение класса значения не имеет

Ищутся по соглашениям

Page 10: Fubu mvc -- нафига оно мне

Простые, но мощные

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

Могут контролировать вызов друг друга

Page 11: Fubu mvc -- нафига оно мне

Есть много встроенных

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

Регистрируются в одном месте

Page 12: Fubu mvc -- нафига оно мне

New empty asp.net project

Install-package FubuMVC.References

Add new Global application file

Setup FubuMVC

Page 13: Fubu mvc -- нафига оно мне

Add ActionCall (any class, any method)

Set Home

Diagnostics

Custom Routes

Page 14: Fubu mvc -- нафига оно мне

Post/get

Routes

Html output

HtmlTags

Page 15: Fubu mvc -- нафига оно мне

One model in / one model out

Model binding

Default properties (UserAgent)

Page 16: Fubu mvc -- нафига оно мне

Install-Package FubuMvc.Spark

this.UseSpark()

Enable views

Add spark view for model

Page 17: Fubu mvc -- нафига оно мне

Adding Post handler with input model

Url Helpers

Html Helpers DisplayFor/InputFor

Html Conventions

Page 18: Fubu mvc -- нафига оно мне

Implement IActionBehavior or inherit from BasicBehavior

Add it to Policies

InnerBehavior is set by magic (DI container)

Page 19: Fubu mvc -- нафига оно мне

Convention over configuration => DRY

Strong typing => профит

Здорово расширяет кругозор

Page 20: Fubu mvc -- нафига оно мне

@skalinetshttp://tdd4.net