Подтвердить что ты не робот

Где я могу найти мертвое простое объяснение MVC?

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

Любые предложения по хорошему видео, слайдам или другим?

4b9b3361

Ответ 1

У Craig Strong есть довольно хорошая статья о MVC в целом и как объяснить ее преимущества для бизнеса. Посмотрите здесь: Обновлена ​​ссылка.

Определить MVC в условиях laymans

Помните, что вы технически настроены и близки к коду. MVC для вас так же ясно, как и день, но, говоря бизнес "Модель, Контоллер может создать у них впечатление, что вы страдаете от некоторые формы синдрома торерта. MVC не будет означать много для бизнеса даже после определения их по отношению к коду. Чтобы получить бизнес понять, почему это ответ, и меньше всего, что это такое, может быть больше задачи, чем ожидалось в моем опыте. Даже кто-то разработчики с трудом понимают это.

Чтобы слушатель понял, что такое MVC, и почему он работает, что я попробовали в переходе, чтобы применить MVC к другим отраслям, где слушатели были более активны. Пример, который сработал у меня в прошлом в сравнении с собственностью или даже с транспортные средства. У большинства людей были отношения со строителями, плотниками, сантехники, электриков или наблюдали за потоком телевизор. Этот опыт является хорошей платформой для использования и объяснения причин разделение, такое как MVC. Я знаю, что вы, вероятно, думаете, что не будет работать как не то же самое, что и в программном обеспечении, но помните, что вы не пытаться обучить бизнес, чтобы стать разработчиком или иметь глубокое понимание MVC, просто объясняя им, что разделение в производстве, и это то, что предлагает структура MVC.

Чтобы привести пример того, как вы могли бы это описать, я очень кратко объяснил, как разделение работает в собственности. Имейте в виду, что это сосредоточено на использовании не разрабатываемой системы, которая могла бы быть полностью другой угол объяснения.

Вид

Вид в MVC - это уровень представления. Это то, что конечный пользователь продукта будет видеть и взаимодействовать. Система может иметь несколько виды всех типов, начиная от вывода командной строки и заканчивая отображаемый HTML. В большинстве случаев представление не состоит из бизнес-логики четкие конструкции. Интерфейс подходит для цели и является областью взаимодействие. Поэтому вы можете просто вывести HTML для потребителей в взаимодействовать с SOAP/XML или выводить SOAP/XML для взаимодействия с предприятиями. И то и другое использовать ту же бизнес-логику за системой, которая иначе известна как моделей и контроллеров.

В мире недвижимости вы можете думать о представлении как о внутреннем имущества или внешнего слоя имущества, которое жители взаимодействовать с. Интерьер может быть настроен для цели и того же собственность может иметь много разных типов арендаторов. Например, собственность конкретного проекта может содержать жилые дома. Такое же внутреннее пространство можно было легко использовать в качестве офисного помещения, где хотя в одном и том же имуществе имеет другую цель. Однако структура собственности такая же. Поэтому среда, в которой пользователи взаимодействуют, не мешают структуре здания.

Контроллеры

Контроллер - это место, где происходит волшебство, и определяет бизнес логика приложения.. Это может быть тот случай, когда пользователь отправил ответ с точки зрения, тогда этот ответ используется для обработки внутреннего обработки запроса и обрабатывает ответ обратно пользователю. Принимая типичный ответ, когда пользователь попросил купить книгу. Контроллер имеет идентификатор пользователя, данные платежа, адрес доставки и выбор предметов. Эти элементы затем обрабатываются через бизнес логики для завершения покупки. Данные передаются через систему в слой модели и, в конце концов, после того, как весь запрос удовлетворяет определения бизнеса, порядок и пользователь получает свой предмет.

Если мы сравним это с свойством, мы могли бы сравнить порядок забронируйте онлайн, включив выключатель освещения. Арендатор будет пролистывать переключитесь так же, как на заказ книги. Сам переключатель является элемент в слое представления, который отправляет запрос контроллеру так же, как нажатие кнопки выписки на веб-сайте. Бизнес-логика В этом случае электрик установлен и встроен в дизайн недвижимости. Переключатель перемещается, что завершает цепи. Электричество проходит через все провода, включая блок предохранителей прямо к лампочке. Так же, как пользователь, получающий книга, в этом случае арендатор получает свет. Весь процесс сцены, связанные с электрическим кабелем, не видны арендатор. Они просто взаимодействуют с переключателем в пространстве и из там контроллер обрабатывает запрос.

Модели

Модели в MVC являются самым нижним слоем и обрабатывают основную логику системы. В большинстве случаев это можно рассматривать как слой, который взаимодействует с источником данных. В системах с использованием MVC контроллер будет передавать информацию модели для хранения и извлечения данные. Следуя приведенному выше описанию контроллера, это где хранятся данные заказа. Дополнительные данные, такие как акции уровни, физическое расположение произведения книги среди многих вещей все они хранятся здесь. Если это была последняя книга, заказанная на складе, следующий запрос для этого элемента может проверить, доступно ли его и запретить заказ, поскольку элемент больше не доступен.

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

После того, как вы получите сообщение, объясняющее, что такое MVC, вы тогда должны видеть, какие выгоды могут быть получены от него. Я не собираюсь идти в огромное количество деталей здесь. Я уверен, что вы можете применить преимущества точнее, которые напрямую связаны с вашей реальной ситуацией. к список только некоторых из общих преимуществ системы на основе MVC здесь: несколько примеров:

  • Различные уровни навыков могут работать на разных уровнях системы. Например, дизайнеры могут работать с интерфейсом (View) с очень маленькими знания о развитии и разработчики могут работать над бизнес-логикой (Controller) с минимальным вниманием к уровню проектирования. Затем они просто интегрируйте вместе по завершении.
  • В результате вышеперечисленных проектов разделения можно управлять легче и быстрее. Дизайнер может запускать интерфейсы до разработчик и наоборот. Этот процесс разработки может быть параллельным в отличие от последовательного, что сокращает время разработки.
  • Легко иметь несколько типов просмотра, используя ту же бизнес-логику.
  • Очистить маршрут через систему. Вы четко знаете, где находятся разные уровни системы. С четким маршрутом системы, логика может быть разделена и улучшена. Это добавило преимущества безопасности, поскольку вы четко знаете разрешенный маршрут от данных к пользователю и можете имеют четкие проверки безопасности по маршруту.
  • Каждый уровень отвечает за себя. (Относится к точке 1) Это означает, что вы можете иметь чистую файловую структуру, которая может поддерживаться и управлялся намного проще и быстрее, чем система с плотной парой, где у вас может быть много повторяющейся логики.
  • Наличие четкой структуры означает, что развитие будет более прозрачным, что должно привести к сокращению времени разработки, проблем обслуживания и циклов выпуска при правильном применении.

Ответ 2

M-V-C Подумайте об этом как: "Информация о заказе (включая информацию о клиенте и сотрудниках)", "Форма HTML/ASP (для отображения OrderDetails)" и "Класс обслуживания деталей заказа" (с методами SaveOrderDetails, GetOrderDetails и т.д.).

Модель (класс данных, например, OrderDetails)

  • Данные, которые вы хотите отобразить

Контроллер (класс обслуживания)

  • Знает о модели (детали заказа)
  • Имеет ли методы управления Model
  • И как таковой может быть проверен модулем. Его единственная ответственность - управлять операциями OrderDetails CRUD.
  • Он не знает НИЧЕГО о представлении

Просмотр (страница ASP)

  • Отображает модель (OrderDetail ViewData).
  • Он должен знать о структуре Модели, чтобы он мог корректно отображать данные пользователям на экране.
  • Структура View (стиль, макет, HTML и т.д.) может быть изменена в любое время без изменения чего-либо в функциональности приложения.
  • Таким образом, многие виды могут отображать одну и ту же модель по-разному.
  • В многопользовательских веб-приложениях пользовательские представления могут храниться в таблице базы данных и отображаться на основе информации о клиенте.

Ответ 3

Вы должны объяснить преимущества ASP.NET MVC, а не функции

  • У вас есть контроль над вашими URL-адресами - это означает, что SEO для сайта будет лучше - это означает, что ваш сайт будет выше в google

  • Код чище, что означает, что его легче изменить, что означает, что вы можете быстрее добавлять функции

и др.

Как вы экономите деньги, зарабатываете деньги, уменьшаете риск? Это то, что хочет знать ваш босс.

Ответ 4

Представьте себе диспетчерскую в factory, модель - это сама машина, контрольное оборудование - это вид, а панель приборов - контроллер. У вас может быть несколько разных комнат управления для одной машины, а изменения в элементах управления в одной диспетчерской будут отражаться на мониторах во всех диспетчерских.

Дело в том, что вы должны только моделировать один раз, а затем просматривать или контролировать, но наиболее удобно.

Ответ 5

модель - это уровень доступа к данным, который может быть просто оболочкой для нескольких простых запросов к ORM, который управляет самими сущностями данных. Он обрабатывает связь с источником данных, извлекает данные и обычно организует их в объекты, определенные в приложении.

views - это просто html файлы с битами html и css с кодом кода шаблона (smarty, mako и т.д.) для отображения переданных ему данных так, как вы хотите.

Контроллер объединяет все. Запросы, сделанные на вашу страницу, будут перенаправлены на контроллер (класс) и действие (метод) в контроллере. Как и любое другое приложение, действие будет выполнять то, что ему требуется, но оно все еще является частью контроллера.

Итак, контроллер использует модель для запроса данных (пользователей, контента и т.д.), затем передает данные в представление, которое будет отображаться и отображаться так, как вы хотите.

Ответ 6

Я бы не стал объяснять ему технологию, я бы попытался объяснить, что такое архитектурный принцип MVC.

MVC был разработан для разделения проблем. Легко и просто. Объясните ему, что когда вы строите что-то, что вы строите, можно классифицировать в двух разных категориях: что нужно бизнесу (домен) и всему остальному.

MVC отделяет домен от всего остального, вводя слои для выделения проблем. M - для модели, которая является вашим доменом. V - это вид, который является видимой частью его, что он видит. C предназначен для контроллера, который контролирует то, что происходит между Доменом и представлением.

Ответ 7

Парню маркетинга просто интересовала бы часть "V", "Вид". В зависимости от того, как вы создаете вещи, представление будет просто базовыми HTML/CSS-шаблонами, которые может изменить пользователь маркетинга. Технически, ничего не сломав.

В идеале модель (база данных) и контроллер (логика) не должны заботиться о том, является ли представление (представление) XML, HTML, текст и т.д. Маркетинговому человеку не должно быть никакого отношения к тому, что делают Модель и Контролер, за исключением запроса дополнительные функции.

Идя дальше с "идеальным", вы должны технически быть в состоянии заменить ASP с помощью PHP, Java, Ruby и т.д. как Controller, не касаясь модели или представления.

Ответ 8

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

Это должно быть использование. MVC (если сделано правильно) позволит вам отделить пользовательский интерфейс от данных (модели) и управления пользовательским интерфейсом (контроллером). Это позволит UI быть более гибким, что, в свою очередь, позволит лучше продавать его самостоятельно быстрее.

Ответ 9

Это довольно простой

http://en.wikipedia.org/wiki/Model-view-controller#Pattern_description

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

Ответ 10

Для маркетолога, возможно, лучший способ объяснить причину для ASP.Net MVC - это возможность расширить доступ к вашему продукту.

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

Модель "как все работает внутри коробки". Контроллер - это "то, что вы можете прикоснуться к внешней стороне окна", и представление "что выходит из коробки"...

Ответ 11

Самое важное для вашего маркетолога - деньги, бюджет, TCO...

Если вы не используете MVC, вы обычно смешиваете дизайн, логику приложения и т.д. alltogether.

Затем программист должен знать html-дизайн, программирование и т.д. Это может означать, что вам нужен мощный профессионал, чтобы сделать все это.

если вы используете MVC, все делится на "отдельные части". Html-кодер может подготовить html-слой, программист работает только с логикой приложения и т.д.

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

Слушайте, например, xhtml validity и css чистота настолько сложны, что есть много людей, которые сосредотачиваются только на этом, в то время как много совместимости браузеров и платформ на уме.

Обычно один человек НЕ лучший программист asp.net, xhtml-кодер в одном, -)

Ответ 12

Важным словом в названии менеджера в этом случае является "маркетинг". Он менеджер по маркетингу. Озабоченность, которую имеет менеджер по маркетингу, связана со стратегией и тактикой. Эти два не то же самое. Стратегия - это большое изображение, которое охватывает, среди прочего, то, как компания концептуально отвечает потребностям клиентов и как компания отличает себя от своей конкуренции. Стратегия, как правило, не то, что программное обеспечение может изображать для пользователя. С другой стороны, тактика - это прямые методы или подходы, которые компания берет на себя в интересах клиента. Тактика, как правило, меняется гораздо чаще, чем стратегии, и вполне вероятно, что менеджер по маркетингу, когда он спросит, что может дать ему MVC, действительно спрашивает: "Как быстро вы можете изменить то, что вы создаете, во что-то, что соответствует новые реалии в том, как мы должны иметь дело с клиентами". Другими словами, как быстро вы можете изменить предложение "купить 1 и получить 1 бесплатно" в "купить 2 в пятницу" и получить 1 на следующий вторник, если в Олбани идет дождь ".

Управление маркетингом - это результаты, измеренные в долларах и центах, а не наглядные и тонкие объяснения, которые усеяны концептуальными словами, лишенными какой-либо реальной специфики. Все, что может сказать программист, может иметь смысл для самого себя, но менеджер по маркетингу должен знать реальную вероятность быстрого реагирования на изменение восприятия клиента или быструю реализацию на другой подход к продаже тем же клиентам. Он должен знать, будет ли это стоить больше, чем существующий метод, потому что, если он продаст на 1 миллион долларов больше продукта, потратив 1,25 миллиона долларов на разработку программного обеспечения, он, вероятно, потеряет работу.

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

Честно говоря, я не думаю, что вы сможете доставить такой promises, если бы они были сделаны, потому что, несмотря на все преимущества MVC с точки зрения развития, мы все еще говорим о программном обеспечении здесь, и, как мы все знаем, программное обеспечение является жестким, требовательным мастером, который берет на себя свое сладкое время, чтобы созреть до уровня надежности и избавиться от своих ошибок. Мы, как программисты, всегда находимся в поисках святого грааля повторного использования программного обеспечения, а пока мы пытаемся попробовать что-то одно, а затем другое (MVC, MVP, MVVM и все, что кто-то может задумать), остальная часть мира просто просит то, что работает. Так что тебе повезло. Надеюсь, вы сможете выиграть ваше дело.