Файл: Анализ методов современного программирования ( Методики программирования ).pdf
Добавлен: 28.03.2023
Просмотров: 378
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Методики программирования
1.1 Методы систематического программирования
1.1.2 Объектно-ориентированный подход
1.1.4 Компонентное проектирование
1.1.5 Аспектно - ориентированное программирование
1.1.6 Генерирующее программирование
1.1.7 Агентное программирование
2.1. Теоретическое программирование
2.1.1 Алгебраическое программирование
2.1.2 Экспликативное программирование
2.1.3 Алгоритмическое программирование
Глава 2. Оптимизации программного кода
2.1. Основные принципы оптимизации кода
2.1.1. Выявление узких мест программы
2.1.2. Методы оптимизации программ
2.1.3. Параллельное программирование
2.2 Архитектура программных систем.
2.2.1 MVC (Model - View - Controller)
2.2.2 MVP (Model-View-Presenter)
2.2.3 MVVM (Model - View - ViewModel)
2.2.4 MVI (Model - View - Intent)
2.2.5 VIPER (View - Interactor - Presenter - Entity - Router)
2.2.5 VIPER (View - Interactor - Presenter - Entity - Router)
View - Представляет собой интерфейс, с которым взаимодействует пользователь на экране своего устройства. Обращается к Presenter за обновлениями.
View ждет действия Presenter'а, чтобы передать содержания для выведения на экран.
Interactor - Включает в себя бизнес-логику для управления объектами данных (Entity). Задача выполняется в Interactor'е, независимо от View
Presenter - содержит логику управления. Определяет запрос, поступающий со View, и решает, куда отправить его дальше в Router для изменения окна View или передает метод в Interactor.
Entity - это объекты данных, которыми управляет Interactor.
Router - осуществляет переключения между экранами приложения.
Data Store - отвечает за доставку Entity в Interactor. Entity не знают о Data Store.
Заключение
Мы рассмотрели основные методы современного программирования, которые применяются на практике, так же были рассмотрены методологии программирования и методы оптимизации кода. Из чего можно сделать вывод, что построение архитектуры ПО позволяет программистам экономить большое количество часов в будущем, при добавлении нового функционала, а бизнесу сохранить свои деньги, не переписывая постоянно основной костяк приложения, каким бы оно ни было.
Необходимо заранее продумывать тип архитектуры, которая будет применена в ПО, так как от типа ПО так же зависит и тип архитектуры, например, не все типы подходят для создания веб-сайта, или для мобильного приложения.
Так же выбранная архитектура зависит от сроков разработки, если компания хочет создать ПО, которое планирует долго поддерживать, то нужно заранее обдумывать последствия выбранной архитектуры и есть ли смысл применять ее в данном случае, так как иногда рынок выпускает MVP (минимально жизнеспособный продукт), где сложная архитектура, наподобие VIPER может усложнить все этапы разработки продукта, или не применять архитектуру вовсе, например на хакатонах про программированию, где обычно дается 20 часов времени на разработку своего ПО.
Помимо различных типов архитектур, разработчики должны знать и применять на практике методологии разработки ПО, что позволит в будущем принимать более взвешенные решения и тратить меньше времени на написание кода и больше на то, как лучше решить поставленную задачу и какой метод или инструмент выбрать.
Из рассмотренных методологий, мы вынесли, что помимо написание самого кода, так же существует и математическая сторона решения задач, что может довольно сильно оптимизировать конечный продукт.