"Паттерн проектирования mvc для 1С"

6
План вебинара: 1. История; 2. Концепция; 2.1 Модель; 2.2 Представление; 2.3 Контроллер; 3. Назначение; 4. Применение MVC при разработке 1С; MVC – паттерн проектирования приложений

Upload: -

Post on 08-Apr-2017

279 views

Category:

Technology


11 download

TRANSCRIPT

Page 1: "Паттерн проектирования MVC для 1С"

План вебинара:1. История;2. Концепция; 2.1 Модель; 2.2 Представление; 2.3 Контроллер;3. Назначение;4. Применение MVC при разработке 1С;

MVC – паттерн проектирования приложений

Page 2: "Паттерн проектирования MVC для 1С"

Для кого? Зачем? Пролог

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

Зачем? Я люблю чистый код, не люблю код с запашком (он же интусский кот). В своей работе я стараюсь наследовать принципы программирования (ну или проектирования): DRY, KISS, YAGNI чего и вам всем желаю. Паттерны как раз позволяют не повторятся, держать код чистым и простым.

Что же такое паттерн? Это шаблон, тот самый велосипед, который придумали до нас и который не нужно изобретать снова и снова! Просто берешь и пользуешься.

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

Page 3: "Паттерн проектирования MVC для 1С"

MVC = Model - View - Controller

Концепция MVC была описана Трюгве Реенскаугом в 1978 году, работавшем в научно-исследовательском центре «Xerox PARC» над языком программирования «Smalltalk». Позже, Стив Бурбек реализовал шаблон в Smalltalk-80.

Окончательная версия концепции MVC была опубликована лишь в 1988 году в журнале Technology Object.Впоследствии, шаблон проектирования стал эволюционировать. Например, была представлена иерархическая версия HMVC (Hierarchical MVC ), MVA (Model–view–adapter), MVVM (Model-View-ViewModel).Данные паттерны, по моему мнению, больше ориентированы на ООП, поэтому в рамках данного вебинара рассмотрены не будут.

Немного истории MVC

Page 4: "Паттерн проектирования MVC для 1С"

Model

Controller

View Действ

ие

Модификаци

я Оповещение

об измененияхОбн

овле

ние

пред

ставл

ения

Схема MVC

Model – бизнес логика, БД. Бизнес-логика  -это реализация предметной области в информационной системе. 

View – отвечает за формирование UI.

Controller • Взаимодействие с пользователем• Пользовательский ввод• Связующее звено между Model и

View

Page 5: "Паттерн проектирования MVC для 1С"

Назначение MVC

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

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

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

ряд разработчиков специализируется только в одной из областей: либо разрабатывают графический интерфейс, либо разрабатывают бизнес-логику. Поэтому возможно добиться того, что программисты, занимающиеся разработкой бизнес-логики (модели), вообще не будут осведомлены о том, какое представление будет использоваться. Ценность реализации данной задачи очень сомнительна, особенно исходя из реалий 1С.

Важно отметить, что как представление, так и контроллер зависят от модели. Однако модель не зависит ни от представления, ни от контроллера. Тем самым достигается назначение такого разделения: оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.Наиболее типичная реализация отделяет вид от модели путем установления между ними аппарата событий (подписка /оповещение). При каждом изменении внутренних данных в модели она оповещает все зависящие от неё представления, и представление обновляется. Для этого используется шаблон «наблюдатель». При обработке реакции пользователя вид выбирает, в зависимости от нужной реакции, нужный контроллер, который обеспечит ту или иную связь с моделью.

Page 6: "Паттерн проектирования MVC для 1С"

Ты программист, но не используешь паттерны?

Не надо так!