#business_process — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #business_process, aggregated by home.social.
-
Business Process Notation как подход к организации кода в проекте по разработке мобильного iOS приложения
Постановка проблемы На сегодняшний день наиболее известны такие архитектурные паттерны как MVC, MVVM, MVP, Viper, Clean Code. Все они в той или иной мере работают с тремя основными сущностями - Модель, Вью, Контроллер, добавляя время от времени некоторые дополнительные, например, Presenter. Вторая общая особенность данных архитектурных паттернов состоит в том, что названные выше сущности выделяются и классифицируются исходя из их технических характеристик. Например, Вью - это то, что отображает данные на экране, Модель - содержит в себе данные и их обработку, а Контроллер осуществляет взаимодействие между ними. Но эти характеристики не отражают сущности приложения в целом. Это как если бы мы разделили воду на водород и кислород и пытались бы из их особенностей понять сущность воды. Фрагментарность используемых сущностей и отсутствие целостного видения приложения приводит к общеизвестным проблемам, связанным с трудностями понимания кода и его управлением. Отсюда, ни один из этих паттернов не гарантирует, что на определённом этапе разработки приложения не возникнет ситуация, когда код станет тяжеловесным и очень сложным для управления. Именно в такие моменты приходится переосмысливать общую архитектуру проекта и отвечать на вопросы “Зачем нужен тот или иной код, какую задачу он решает?”, “Где расположен код, реализующий ту или иную функциональность и как он работает?”. И т.д. Продолжая пример с изучением воды следует сказать, что единицей её анализа является молекула воды. Это мельчайшая частица воды, которая тем не менее содержит в себе все её свойства. В программе такой мельчайшей и одновременно целостной единицей является задача, которую решает тот или иной блок кода. Отсюда, возникла идея использовать в качестве отправного пункта для организации кода именно те задачи, которые этот код решает. При этом, задача понимается как бизнес-процесс.
https://habr.com/ru/articles/866376/
#ios_development #business_process #architecture_pattern #организация_кода #навигация_проекта #MVC #MVVM #VIPER #модель_приложения #swift