#asp.net-mvc-3 #f#
#asp.net-mvc-3 #f#
Вопрос:
Я работаю над новым проектом для contract. Обычно я использую c # asp.net и razor. Проблема в том, что говорится в моем портфолио. C # C # C # C # C # снова и снова. Я полагаю, что с точки зрения портфолио может быть полезно иметь немного больше разнообразия. С другой стороны, функциональный язык кажется интересным подходом, поскольку asp.net MVC3 очень функционально ориентирован в том, что касается контроллеров. Итак, кто-нибудь пробовал использовать F # для этого и оказалось ли это полезным или просто мешало?
Я спрашиваю, потому что контроллеры, похоже, выигрывают от функциональности, в то время как модели, похоже, выигрывают от объектно-ориентированного языка.
Комментарии:
1. попробуйте это в свободное время в качестве хобби-проекта. не пытайтесь, если вы работаете на клиента!
2. Я действительно не беспокоюсь о кривой обучения, извините, должен был упомянуть. Язык довольно прост из того, что я видел. Я просто имею в виду, с точки зрения дизайна, имеет ли это какие-либо преимущества.
Ответ №1:
Я написал несколько примеров использования MVC3 с сочетанием F # и C #, и это работает довольно хорошо, и я также создал шаблон, который можно использовать в качестве отправной точки (который скоро должен появиться в галерее Visual Studio):
Есть несколько приятных моментов в использовании F # в реализации модели / контроллеров:
- Типы F #, такие как записи, очень упрощают реализацию модели домена
- Вы также можете использовать асинхронные рабочие процессы F # для реализации асинхронных контроллеров (см. Этот фрагмент)
Немного раздражает то, что поддержка LINQ в текущей версии F # немного ограничена (писать сложные запросы с большим количеством объединений и группировок непросто). Однако вы можете использовать dynamic operator, если вызываете хранимые процедуры (см., Например, этот пост в блоге).
(Я также написал несколько статей об этом, которые еще не опубликованы — я могу отправить вам черновик, если вы отправите мне электронное письмо по адресу tomas@tomasp.net )