20
FubuMVC — нафига оно мне?! Сергей Калинец http://tdd4.net @skalinets

CiklumNetSat17032012SergeyKalinets- FubuMVC

  • Upload
    ciklum

  • View
    467

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: CiklumNetSat17032012SergeyKalinets- FubuMVC

FubuMVC — нафига оно мне?!

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

Page 3: CiklumNetSat17032012SergeyKalinets- FubuMVC

For Us, By Us

Page 4: CiklumNetSat17032012SergeyKalinets- FubuMVC

For Us, By Us

Page 5: CiklumNetSat17032012SergeyKalinets- FubuMVC

Идеология

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

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

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

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

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

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

Page 6: CiklumNetSat17032012SergeyKalinets- FubuMVC

Преимущества

Оно простое

Convention over configuration

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

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

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

Page 7: CiklumNetSat17032012SergeyKalinets- FubuMVC

Недостатки

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

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

Page 8: CiklumNetSat17032012SergeyKalinets- FubuMVC

Ключевые моменты

Action Calls

Behavior Chains

Conventions

Page 9: CiklumNetSat17032012SergeyKalinets- FubuMVC

Action Calls

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

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

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

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

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

Page 10: CiklumNetSat17032012SergeyKalinets- FubuMVC

Behaviors Chains

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

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

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

Page 11: CiklumNetSat17032012SergeyKalinets- FubuMVC

Conventions

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

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

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

Page 12: CiklumNetSat17032012SergeyKalinets- FubuMVC

Создаем приложение

New empty asp.net project

Install-package FubuMVC.References

Add new Global application file

Setup FubuMVC

Page 13: CiklumNetSat17032012SergeyKalinets- FubuMVC

Hello World

Add ActionCall (any class, any method)

Set Home

Diagnostics

Custom Routes

Page 14: CiklumNetSat17032012SergeyKalinets- FubuMVC

Default Conventions

Post/get

Routes

Html output

HtmlTags

Page 15: CiklumNetSat17032012SergeyKalinets- FubuMVC

Models

One model in / one model out

Model binding

Default properties (UserAgent)

Page 16: CiklumNetSat17032012SergeyKalinets- FubuMVC

Views

Install-Package FubuMvc.Spark

this.UseSpark()

Enable views

Add spark view for model

Page 17: CiklumNetSat17032012SergeyKalinets- FubuMVC

Forms

Adding Post handler with input model

Url Helpers

Html Helpers DisplayFor/InputFor

Html Conventions

Page 18: CiklumNetSat17032012SergeyKalinets- FubuMVC

Behavior Chains

Implement IActionBehavior or inherit from BasicBehavior

Add it to Policies

InnerBehavior is set by magic (DI container)

Page 19: CiklumNetSat17032012SergeyKalinets- FubuMVC

Так нафига оно мне?

Convention over configuration => DRY

Strong typing => профит

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

Page 20: CiklumNetSat17032012SergeyKalinets- FubuMVC

Усё!@skalinets

http://tdd4.net