MVC Framework с использованием моделирования UML
Этот контроллер модели-представления можно лучше всего описать визуально с помощью анализа надежности в стереотипной нотации UML, которая была впервые предложена Иваром Якобсоном в его отмеченной наградами книге «Объектно-ориентированная разработка программного обеспечения» (см. ссылки ниже) и дополнительно объяснена Дугом Розенбергом и др. . в своей книге «Использование объектного моделирования UML, основанного на прецедентах».
Вот простая и гипотетическая диаграмма последовательности для MVC. На диаграмме выше вы видите, что веб-пользователь инициирует запрос и генерирует событие, которое обрабатывается контроллером для получения необходимой информации от модели, проверки информации и передачи набора результатов обратно в представление.
Сущностные объекты (модель) — это не что иное, как информация или данные, которые ищут ваши граничные объекты. Это могут быть таблицы базы данных, файлы Excel, «временные» сеансы, кэшированные данные или что-то в этом роде.
- Описывать объекты, которые существуют с течением времени и в первую очередь связаны с постоянным состоянием.
- Обычно объекты из модели предметной области
- Вещи, которые нам нужно отслеживать и хранить
Граничные объекты (представление) — это объекты, с которыми акторы (например, пользователи) взаимодействуют в вашей программной системе. Эти объекты могут быть любым окном, экраном, диалоговым окном и меню или другим пользовательским интерфейсом в вашей системе. Вы можете легко определить их при анализе вариантов использования.
- описать связи между системой и средой, которые взаимодействуют.
- Используется акторами при общении с системой
- Только объекты сущностей могут инициировать события
- (обычно основные элементы пользовательского интерфейса, например экраны)
Объекты управления (контроллеры) — это бизнес-объекты или ваши бизнес-веб-сервисы. Здесь вы фиксируете бизнес-правила, которые используются для фильтрации данных, которые должны быть представлены пользователю, что он запрашивает. Таким образом, контроллер фактически контролирует бизнес-логику и преобразование данных.
- описать поведение в конкретном случае использования.
- «Клей» между граничными объектами и объектами-сущностями
- Захват бизнес-правил и политик
- (примечание: часто реализуется как методы других объектов)
Правила подключения в модели MVC
Учтите, что граничные объекты и объекты-сущности — это существительные, а контроллеры — это глаголы.
Вот четыре основных правила подключения.
- Актеры могут взаимодействовать или общаться только с граничными объектами.
- Граничные объекты могут взаимодействовать только с контроллерами и акторами.
- Объекты Entity могут взаимодействовать только с контроллерами.
- Контроллеры могут взаимодействовать с граничными объектами и сущностными объектами, а также с другими контроллерами, но не с акторами.
Помните, что и граничные объекты, и объекты-сущности являются существительными, а контроллеры — глаголами. Существительные не могут разговаривать с другими существительными, но глаголы могут разговаривать с существительными или глаголами.
Краткий обзор диаграммы анализа устойчивости
Предположим, у нас есть следующее простое описание варианта использования в текстовом формате:
На странице сведений о студенте учитель нажимает кнопку «Добавить курсы», и система отображает список курсов. Преподаватель выбирает название курса и нажимает кнопку «Зарегистрироваться». Система регистрирует студента на курс.
Теперь вы можете создать простую диаграмму надежности в соответствии с приведенным выше вариантом использования:
Вы также можете использовать текстовую метку, чтобы прикрепить описание варианта использования в правой части диаграммы устойчивости.
Пять шагов для создания анализа устойчивости
- Вы выполняете анализ надежности варианта использования, просматривая текст варианта использования.
- Одно предложение за раз, рисование действующих лиц, соответствующих границ, сущностных объектов и контроллеров, а также связей между различными элементами диаграммы.
- Вы должны быть в состоянии разместить основной курс и все альтернативные курсы на одной диаграмме.
- Любой, кто просматривает диаграмму надежности, должен быть в состоянии прочитать ход действий в тексте варианта использования, проследить пальцем по ассоциациям на диаграмме и увидеть четкое соответствие между текстом и изображением.
Вам, вероятно, придется переписать текст варианта использования, чтобы устранить двусмысленность и явно ссылаться на граничные объекты и объекты-сущности. Большинство людей не пишут идеальный текст варианта использования в первом черновике. Таким образом, мы можем использовать анализ надежности, чтобы преодолеть разрыв между текстом варианта использования и диаграммой.
Разработка сценария использования с использованием диаграмм последовательности MVC
Основываясь на анализе устойчивости, мы можем разработать сценарии использования (обычные или альтернативные), используя набор связанных диаграмм последовательности в формате MVC. Точно так же диаграмма последовательности MVC имеет объекты интерфейса, объекты контроллера и объекты сущности:
- Сущности — это объекты, представляющие системные данные: Клиент, Товар, Транзакция, Корзина и т. д.
- Границы — это объекты, взаимодействующие с акторами системы: UserInterface, DataBaseGateway, ServerProxy и т. д.
- Элементы управления — это объекты, являющиеся посредниками между границами и сущностями.
Они организуют выполнение команд, исходящих от границы, взаимодействуя с сущностями через граничные объекты. Объект контроллера часто соответствует сценарию варианта использования и часто представлен диаграммой последовательности.
Вы можете использовать стереотипы для линии жизни на диаграмме последовательности MVC, чтобы визуально прояснить, какой тип объектов вы используете в MVC, как на приведенной выше диаграмме анализа устойчивости.
Пример диаграммы последовательности MVC
Предположим, приложение, которое позволяет вам искать людей. Пользовательский интерфейс должен иметь текстовое поле, в котором пользователь может ввести строку поиска, и может иметь кнопку для запуска поиска. Наконец, он должен иметь область, в которой отображаются результаты поиска. В нашем случае это реализовано с помощью компонента списка.
Сценарий варианта использования «Поиск людей»:
- Пользователь вводит строку поиска в текстовое поле
- Пользователь нажимает кнопку поиска.
- Результат поиска отображается в списке результатов.
На приведенной выше диаграмме последовательности показано, как нажатие кнопки пользователем перемещается по приложению до тех пор, пока результат не будет окончательно отображен в компоненте списка.
использованная литература
I think this website has some real great information for everyone : D.
I like this post, enjoyed this one appreciate it for posting.
Great work! This is the type of information that should be shared around the web. Shame on Google for not positioning this post higher! Come on over and visit my site . Thanks =)
I do agree with all of the ideas you’ve presented in your post. They’re really convincing and will certainly work. Still, the posts are very short for newbies. Could you please extend them a little from next time? Thanks for the post.
Главные новости мира https://ua-vestnik.com и страны: политика, экономика, спорт, культура, технологии. Оперативная информация, аналитика и эксклюзивные материалы для тех, кто следит за событиями в реальном времени.
Конструкторы оружия России https://guns.org.ru история создания легендарного оружия, биографии инженеров, технические характеристики разработок.
wonderful points altogether, you just gained a new reader. What would you recommend about your post that you made some days ago? Any positive?