У Крейга Стронга есть довольно хорошая статья о MVC в целом и о том, как объяснить его преимущества для бизнеса. Проверьте это здесь: Обновленная ссылка .
Определить MVC в терминах непрофессионала
Помните, что вы технически настроены и близки к коду. MVC для вас
ясно, как день, но говорит бизнесу ‘Модель, вид,
Contoller 'может создать у них впечатление, что вы страдаете от
некоторая форма синдрома Туретта. MVC не будет много значить для бизнеса даже
после того, как вы определите их по отношению к коду. Чтобы бизнес
понять, почему это ответ и что меньше всего это может быть
больше задачи, чем ожидалось в моем опыте. Даже какой-то парень
разработчикам трудно понять это время от времени.
Чтобы слушатель понял, что такое MVC и почему он работает.
пытался в проходе, чтобы применить MVC к другим отраслям, где
слушатели были более вовлечены. Пример, который сработал
для меня в прошлом по сравнению с собственностью или даже
транспортные средства. Большинство людей имели дело со строителями, плотниками,
водопроводчики, электрики или наблюдали за потоком недвижимости показывает на
телевизор. Этот опыт является хорошей платформой для использования и объяснить, почему
разделение типа MVC работает. Я знаю, что вы, вероятно, думаете, что
не будет работать, поскольку это не то же самое, что в программном обеспечении, но помните, что вы
не пытаясь обучить бизнес, чтобы стать разработчиками или иметь в
глубокое понимание MVC, просто объясняя им, что разделение
в производстве требуется, и это то, что предлагает структура MVC.
Чтобы привести пример того, как вы могли бы описать это, я очень кратко
объяснил, как разделение работает в собственности. Имейте в виду, что это
сосредоточена на использовании системы, не развивающейся, которая может быть полностью
другой угол объяснения.
View
Представление в MVC - это уровень представления. Это то, что конечный пользователь
продукта будет видеть и взаимодействовать с. Система может иметь несколько
представления всех различных типов в диапазоне от вывода командной строки до
визуализированный HTML. Представление не состоит из бизнес-логики в большинстве
четкие конструкции. Интерфейс подходит для цели и является областью
взаимодействие. Поэтому вы можете просто вывести HTML для потребителей
взаимодействовать с или выводить SOAP / XML для бизнеса. И то и другое
использовать ту же бизнес-логику за системой, иначе известный как
модели и контроллеры.
В мире собственности вы можете думать о представлении как о интерьере
имущества или внешнего слоя имущества, которое жители
взаимодействовать с. Интерьер можно настроить по назначению и так же
Недвижимость может иметь много разных типов арендаторов. Например,
Свойство определенного дизайна может содержать жилые дома.
То же самое внутреннее пространство может легко использоваться как офисное помещение, где
хотя у одного и того же свойства другое назначение. Тем не менее
Структура собственности одинакова. Поэтому среда, в которой
взаимодействие пользователей не влияет на структуру здания.
Контроллеры
Контроллер - это место, где происходит волшебство, и определяет бизнес
логика приложения. Это может быть, когда пользователь отправил ответ
с точки зрения, то этот ответ используется для обработки внутреннего
обрабатывает запрос и обрабатывает ответ обратно пользователю.
Принимая типичный ответ, когда пользователь попросил купить книгу.
Контроллер имеет идентификатор пользователя, платежные реквизиты, адрес доставки и
выбор товара. Эти элементы затем обрабатываются через бизнес
логика для совершения покупки. Данные передаются через систему
в слой модели и в конечном итоге после того, как весь запрос удовлетворяет
бизнес-определения, порядок составляется и пользователь
получает свой предмет.
Если мы сравнимэто свойство, мы могли бы сравнить порядок
Книга онлайн, чтобы включить выключатель света. Арендатор щелкнет
включите так же, как при заказе книги. Сам переключатель является
элемент в слое представления, который отправляет запрос контроллеру
так же, как нажатие кнопки оформления заказа на веб-сайте. Бизнес логика
в этом случае это то, что электрика установлена и встроена в
проекты собственности. Переключатель переключается, что завершает
цепи. Электричество проходит через все провода, включая блок предохранителей
прямо на лампочку. Так же, как пользователь, получающий
книга, в этом случае арендатор получает свет. Весь процесс позади
сцены с использованием электрических кабелей не видны
арендатор. Они просто взаимодействуют с переключателем в пространстве и от
там контроллер обрабатывает запрос.
Модель
Модели в MVC являются самым нижним слоем и обрабатывают основную логику
системы. В большинстве случаев это можно рассматривать как слой, который
взаимодействует с источником данных. В системах, использующих MVC, контроллер
передаст информацию в модель для хранения и извлечения
данные. Исходя из приведенного выше определения контроллера, это
где хранятся детали заказа. Дополнительные данные, такие как запас
уровни, физическое расположение продукта книги среди многих вещей
все хранятся здесь. Если это была последняя заказанная книга, то
Следующий запрос на этот элемент может проверить, доступен ли он, и запретить
заказ как элемент больше недоступен.
Придерживаясь примера включения выключателя света, этот уровень в
нашей структурой может быть электроснабжение. Когда арендатор щелкает
выключатель, внутренняя цепь должна запрашивать электричество для питания
запрос аналогичен, когда пользователь запрашивает данные из
База данных, так как данные необходимы для обработки запроса. Если жилище
не подключен к электросети, не может завершить процесс.
Бизнес-преимущества от использования MVC
После того, как вы получите сообщение, объясняющее, что такое MVC, вы
надо посмотреть какие выгоды можно получить от этого. Я не пойду
в огромном количестве деталей, я уверен, что вы можете применить преимущества
более точно, которые непосредственно связаны с вашей реальной ситуацией. к
перечислите только некоторые из общих преимуществ системы на основе MVC здесь
несколько примеров:
- Различные уровни навыков могут работать на разных уровнях системы. Например, дизайнеры могут работать над интерфейсом (View) с очень небольшим
развитие знаний и разработчики могут работать над бизнес-логикой
(Контроллер) с очень небольшой заботой об уровне дизайна. Затем они
просто интегрируйте вместе по завершении.
- В результате вышеперечисленного разделения проектами можно управлять проще и быстрее. Дизайнер может запустить интерфейсы до того, как
разработчик и наоборот. Этот процесс разработки может быть параллельным как
вместо того, чтобы быть последовательным, поэтому сокращает время разработки.
- Легко иметь несколько типов представлений, используя одну и ту же бизнес-логику.
- Очистить маршрут через систему. Вы четко знаете, где существуют разные уровни системы. С четким маршрутом системы,
Логика может быть разделена и улучшена. Это добавило преимущества безопасности как
Вы четко знаете разрешенный маршрут от данных к пользователю и можете
иметь четкие проверки безопасности вдоль маршрута.
- Каждый слой отвечает за себя. (Относится к пункту 1). Это означает, что вы можете иметь чистую файловую структуру, которую можно поддерживать
и управляется гораздо проще и быстрее, чем система с парой
у вас может быть много повторяющейся логики.
- Наличие четкой структуры означает, что разработка будет более прозрачной, что должно привести к сокращению времени разработки,
проблемы технического обслуживания и циклы выпуска при правильном применении.