У меня есть 15 минут для представления ASP.NET MVC моим коллегам. На каких темах я должен сфокусироваться? [закрытый]

Вы можете использовать bind mounts или docker volumes .

Предполагая, что вы выбрали /db в качестве расположения базы данных внутри контейнера, а ./data - это папка в файловой системе вашего хоста, которую вы хотите использовать для сохранения базы данных, или mydb - это используемый вами том:

docker run -p 5000:5000 -v ./data:/ my-app
docker run -p 5000:5000 -v mydb:/ my-app

Чтобы узнать, какой путь внутри контейнера вы используете для хранения файлов (если вы не уверены), найдите код sqlite3.connect : аргумент это путь, который вам нужен.

17
задан Erik Philips 31 July 2013 в 17:11
поделиться

11 ответов

У вас есть только 2 или 3 основных момента.

Наиболее важной концепцией, которую нужно понять, является то, что запросы поступают на контроллеры, а затем контроллер выбирает , какое представление для представления результатов генерирует контроллер .

Следующая важная концепция - что MVC имеет большой выигрыш над «классическим» ASP.NET, когда вы создаете модульные тесты для своих контроллеров и модели. Без этого MVC - это просто еще один способ избавиться от кошки.

В заключение я бы остановился на структуре URL-адресов не потому, что это важно, а потому, что нам нравятся вещи, которые выглядят чисто, и URL-адреса MVC могут это делать может помочь генерировать положительный ответ.

Избегайте разговоров об отсутствии серверных элементов управления (что не совсем верно), поскольку это может вызвать отрицательный ответ. Вообще избегайте упоминания того, что не делает по сравнению с ASP. NET формы (хотя в Viewstate нет необходимости упоминать попутно). Вы знаете, что преимущества взвешивают то, чего не хватает (или не нужно), а ваша аудитория - нет. Держите это положительным.

8
ответ дан 30 November 2019 в 12:51
поделиться
  • Маршрутизация
  • Гибкость ActionResults
  • Подключение различных видов к одному действию контроллера (то есть к мобильному устройству) view)

Большая тема модульного тестирования может быть слишком большой для 15-минутной встречи, но если ваши разработчики уже используют TDD, я бы добавил ее

5
ответ дан 30 November 2019 в 12:51
поделиться

Ознакомьтесь с Обучающим комплектом ASP.NET MVC .

Включает Консервированная (хотя и 60-минутная) презентация, с которой вы можете взломать.

Она фокусируется на:

  • Разделение проблем
  • Тестируемость
  • Контроль

Я на самом деле сделал нечто подобное (хотя было около 45 - 60 минут, включая демонстрацию), как раз перед тем, как это вышло, и ключевой момент для нас был по-настоящему:

Он возвращает вам контроль над разметкой HTML.

Тестируемость и т. Д. Уже были достаточно понятны, но это было рассматривается как ключевое преимущество по сравнению со стандартным ASP.NET.

2
ответ дан 30 November 2019 в 12:51
поделиться

Вы получили все виды очков - мой вопрос, почему вы думаете, что хотите использовать его в первое место, и как вы думаете, это поможет вам и остальной команде разработчиков в вашей среде? Пули не нужны, если они не применимы к вашей ситуации.

2
ответ дан 30 November 2019 в 12:51
поделиться

Объясните им, что:

  1. Больше нет серверных элементов управления

  2. Больше нет механизма событий

  3. Больше нет ViewState

  4. Теперь им не сойдут удобные WebForms, и им придется изучать основы HTTP, HTML / CSS и JavaScript.

Приготовить лекарства для тех, кто потеряет сознание.

(5). Теперь речь идет не о страницах, а о ресурсах (модель REST). URL будет указывать не на физический файл (.aspx), а на действие контроллера, которое может служить для ответов разного типа - страницы для рендеринга, короткого XML в качестве ответа Ajax и т. Д.

PS Если у вас есть что-то вроде компании - внутренняя структура, которая облегчает многие общие операции, и она построена с помощью WebForms, вы, скорее всего, не будете убеждать их принять MVC, так как это требует много работы, драматические изменения в шаблонах мышления и, вероятно, значительное количество времени / затрат.

РЕДАКТИРОВАТЬ: Для тех, кто просил положительные моменты ...

(6). URL-адреса, оптимизированные для SEO, без необходимости использования сторонних утилит для переписывания URL-адресов.

(7). Полный контроль над выводом HTML. Нет полезной нагрузки ViewState, нет внедрения автоматически сгенерированных идентификаторов => чистая разметка + меньшие размеры страниц => меньшее потребление трафика + более короткое время отклика.

(8). Возможность чистого прозрачного дизайна приложения (даже с несколькими слоями). Вместо того чтобы взламывать каждый элемент управления в отдельности кода, теперь вы в лучшем положении для разработки архитектуры с понятным и отслеживаемым потоком данных - от уровня базы данных до бизнес-логики, пока он не достигнет представления. Гораздо лучше по сравнению со вездесущим стилем кодирования WebForms, когда каждый элемент управления попадает непосредственно в базу данных, чтобы получить некоторые данные для отображения. Не обязательно, что вы управляете чистым дизайном, но, по крайней мере, концепция MVC делает его более понятным для вас, как сделать это правильно.

1
ответ дан 30 November 2019 в 12:51
поделиться

Я бы привлек их внимание маршрутизацией, это наиболее очевидные вещи (и это не ограничивается MVC). Затем я посмотрел бы на более высокий уровень и поговорил бы о разделении проблем, тестируемости и насмешливости.

Если бы я был вами, я бы отправился в блог ScottGu и использовал его превосходный материал :-)

1
ответ дан 30 November 2019 в 12:51
поделиться

Если они используют ASP.NET, они могут быть не знакомы с архитектурой MVC с самого начала, и вы могли бы иметь немного поговорим об этом.

Поскольку все они разработчики, и у вас есть только 15 минут, я бы посоветовал вам показать им «Файл»> «Новый для проекта ASP.NET MVC» и кратко рассказать о строительных лесах. Это очень выгодно для MVC, поскольку он работает на ходу, и вы уже настроены на итеративную разработку.

После этого вы можете перейти к рабочей демонстрации простого приложения. Для этого я бы прошел через приложение с отладчиком от маршрутизации в global.asax до действия контроллера для моделирования и, в конечном итоге, обратно в представление. Это поднимет интересные вопросы и объяснит новый жизненный цикл приложения, включая SoC, MVC, L2S и т. Д. Это также неявно высветит различия между приложениями ASP.NET MVC и ASP.NET.

Если у вас есть wfetch (или заголовки Fiddler или Live HTTP), то я бы также показал запрос на стороне клиента и выделил отсутствие состояний просмотра. и выделите глаголы POST / GET (PUT / DELETE, если вы используете wfetch). Возможно, стоит упомянуть о полезности этого в приложениях AJAX.

Предвидите вопросы о том, как перенести текущее приложение и какова ценность предложения для ваших текущих сценариев использования.

1
ответ дан 30 November 2019 в 12:51
поделиться

Лучший способ сделать это, следуя образцу главы ScottGuthries в Professional ASP.NET MVC 1.0, где он Мы получили пошаговое руководство по разработке полноценного веб-приложения с использованием ASP.NET MVC со всеми функциями. Вы можете суммировать эту главу за 20 минут.

Скачать образец главы Скотт Гатри Здесь !

LinkText: http://www.wrox.com/WileyCDA/Section/id -321793.html

Надеюсь, это поможет.

1
ответ дан 30 November 2019 в 12:51
поделиться

Блог за 15 минут :-). Серьезно, может быть, сосредоточиться на разделении проблем?

0
ответ дан 30 November 2019 в 12:51
поделиться

Конечно, первое и самое важное - это разделение понятий, которое дает: 1. Более прозрачный дизайн, который легче понять и управлять. 2. Соглашение по конфигурации. Что ускоряет разработку и уменьшает различия между разработчиками и программированием. 3. Разработка паттерна уже вписывается в сам дизайн приложения: Вы разрабатываете модели, затем контроллер, затем представления. Измените и протестируйте их отдельно (может быть, с преданными разработчиками).

Но позвольте мне сказать, что если они дали вам только 15 минут, они действительно не хотят слышать об этом или использовать его в этом отношении;)

0
ответ дан 30 November 2019 в 12:51
поделиться

Я думаю, что обычно лучший подход, когда вы хотите представить какую-то новую технологию, - это сделать простой пример, который объяснит некоторые интересные функции.

Вы можете создать пример простого приложения mvc с двумя разными представлениями одной и той же страницы и двумя разными контроллерами. Один контроллер вы можете использовать для асинхронных операций, а второй - для обычных запросов. Один вид может быть обычным, второй вид может быть оптимизирован для мобильных телефонов. Это несколько часов работы, и в этом примере вы можете охватить все интересные функции asp.net mvc:

-маршрутизация - возможность тестирования - гибкость и разделение проблем

ура

0
ответ дан 30 November 2019 в 12:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: