Правильное понимание паттерна Model View Controller

Поділитися
Вставка
  • Опубліковано 10 лис 2024
  • Это видео посвящено одному из самых популярных паттернов проектирования в разработке веб-приложений - Model View Controller (MVC). Мы подробно рассмотрим, что такое MVC, какие компоненты он включает и как они взаимодействуют друг с другом. Вы узнаете о назначении модели, представления и контроллера, а также о том, как они работают вместе для создания эффективного и масштабируемого приложения. Мы обсудим преимущества использования MVC и как этот паттерн может помочь в управлении сложностью и улучшении структуры вашего кода. Этот урок предназначен для разработчиков, которые хотят углубить свои знания в области проектирования приложений и улучшить навыки работы с паттернами.

КОМЕНТАРІ • 15

  • @megaman13able
    @megaman13able 2 місяці тому

    В свое время тоже думал на эту тему и пришел к выводу что в рельсах скорее MVP - Model View Presenter :)

    • @SergeiUdalov
      @SergeiUdalov  2 місяці тому

      @@megaman13able view не отвечает на вопрос, как управлять состоянием. Это роль контроллера. А чем presenter отличается от view в данной схеме?

    • @SergeiUdalov
      @SergeiUdalov  2 місяці тому

      @@megaman13able view не отвечает на вопрос, как управлять состоянием. Это роль контроллера. А чем presenter отличается от view в данной схеме?

  • @olegkolosow1630
    @olegkolosow1630 2 місяці тому

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

    • @SergeiUdalov
      @SergeiUdalov  2 місяці тому

      @@olegkolosow1630 а какие там термины?

    • @olegkolosow1630
      @olegkolosow1630 2 місяці тому +1

      @@SergeiUdalov В Django начинается небольшая путаница, поскольку в его терминах этот паттерн называется Model-View-Template (Модель-Представление-Шаблон). Однако View в Django скорее выполняет функцию контроллера, а Template - представления.
      ...вот такое пояснение всплыло), сути в целом не меняет, но вот так=)

    • @SergeiUdalov
      @SergeiUdalov  2 місяці тому

      @@olegkolosow1630 понял, кажется что template - это искусственное сужение области применения, так как вью не обязательно должен быть шаблоном. Короче, зря они.

  • @KarimMarabet
    @KarimMarabet 2 місяці тому +1

    Слоистая архитектура вроде решает проблему толстых контроллеров. В книге Layered Design for Ruby on Rails Applications Дементьев хорошо описывает про это.

    • @SergeiUdalov
      @SergeiUdalov  2 місяці тому

      @@KarimMarabet отличная книга, у Дмитрия интересный взгляд на ruby on rails. Собираюсь сделать обзор на эту книгу.
      Но как согласуется MVC и предложенная слоистая архитектура? В моем понимании, это остается MVC, а предложенные слои принадлежат одному из M-V-C

    • @KarimMarabet
      @KarimMarabet 2 місяці тому +1

      @@SergeiUdalov Круто, что собираешься обзор сделать! Я по сути тоже так понимаю, что слоистая архитектура не заменяет MVC, а дополняет его, создавая более чёткую и модульную структуру куда вписываются сервис объекты например

    • @Deletedeletedelete
      @Deletedeletedelete 2 місяці тому

      Владимир топ) надо тоже наконец прочитать его книгу

  • @olegkolosow1630
    @olegkolosow1630 2 місяці тому

    А у меня еще такой вопрос, возможно свои мысли или наблюдения выразите, буду благодарен. Я сейчас за городом живу и не планирую переезжать вновь в город. Как думаете для удаленной работы 3 джи 4 джи связи может хватать? Все никак не могу на этот вопрос ответ найти...Видимо смотря какие задачи, но в целом как понял, программисту и до уровня миддл можно свободно работать удаленно и с такой связью.

    • @SergeiUdalov
      @SergeiUdalov  2 місяці тому

      @@olegkolosow1630 самое главное - это чтобы созваниваться по видео можно было. Хотя бы иногда. Остальные задачи менее требовательны к пропускной способности. Так что, да, 4G/LTE - вполне достаточно. А вот 3g будет маловато.
      Я длительное время работал на мобильном интернете - так что реально.

  • @СтаниславСидоров-ы6м

    Мне кажется если речь идет о RoR все давно пришли к концепции толстых сервисов а относить сервис к контроллеру или модели или их фасадной сцепке в целом не так важно

    • @SergeiUdalov
      @SergeiUdalov  28 днів тому

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