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