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

Можно сделать это с genexp и str.join с , как разделитель:

', '.join(str(item['day']) for item in chart_data)

str(datetime.date) т.е. datetime.date.__str__ уже возвраты дата в %Y-%m-%d формат, таким образом, Вы не должны делать никакого дополнительного strftime работа.

OTOH, если Вам только нужно day поле, Вы не должны включать item_id__store_id__store_name в values.

19
задан GEOCHET 19 May 2009 в 14:17
поделиться

11 ответов

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

Определите MVC в терминах непрофессионала

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

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

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

Представление

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

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

Контроллеры

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

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

Модели

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

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

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

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

MVC Думайте об этом как о:

  • Структура представления (стиль, макет, HTML и т. Д., Языковой стандарт) может быть изменена в любое время без изменения каких-либо функций приложения.
  • И поэтому многие Представления могут отображать одну и ту же Модель разными способами.
  • В мультитенантных веб-приложениях специфичные для клиента представления могут храниться в таблице базы данных и отображаться на основе информации о клиенте
  • 6
    ответ дан 30 November 2019 в 03:48
    поделиться

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

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

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

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

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

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

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

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

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

    1. Вы можете контролировать свои URL-адреса - это означает, что SEO для сайта будет лучше - это означает, что ваши сайт будет выше в Google

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

    и т. д.

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

    4
    ответ дан 30 November 2019 в 03:48
    поделиться

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    если вы используете MVC, все разделено на «отдельные части». Кодировщик HTML может подготовить слой HTML, программист работает только с логикой приложения и т. Д.

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

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

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

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

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

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

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

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

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