README.md

Clean Architecture в проекте на PowerBuilder 2022R3

В соответствии с архитектурой Clean Architecture приложение разделено на слои. Каждому слою определен свой провайдер. Архитектура приложения реализует следующую цепочку событий:

Источник (window или объект) -> задача(Task) -> провайдер(объединение провайдеров) -> сообщение с результатом -> получатель результата (window или иной объект)

Все объекты делятся на генераторы сервиса и пользователей(потребителей) сервисов. Выделены следующие единицы:

  • n_provider - объект, который предоставляет сервис любым пользователям(объектам) без их учета
  • объекты-подписчики - потребители сервисов(n_union_subscriber), которые регистрируются в объединениях для получения/предоставления сервиса
  • малые объединения подписчиков(n_smalln_union) - объект группы подписчиков(n_union_subscriber) для получения/предоставления сервиса

Регистрацию подписчиков и их объединений, а также специалистов, отмену регистрации осуществляет сервис локатор (n_servicelocator).

Регистрация объектов (наследников n_subscriber) объединениями проводиться по их имени.

Привязка и отвязка подписчиков (n_union_subscriber) к провайдерам осуществляется n_service_locator или самим провайдером. Отписка подписчиков сервис локатором проводится сразу от всех подписанных объектом провайдеров.

В данном проекте реализованы следующие провайдеры:

  • n_application_provider - провайдер приложения

  • n_window_union - объединение window

  • n_observable_union - объединение n_observable объектов

  • n_messenger_union - объединение для доставки сообщений объектам

  • n_thread_provider - провайдер выполнения потоков подписчиков

  • n_db_provider - провайдер транзакционных объектов

  • n_pool_provider - провайдер пула объектов

Описание

Использование Service Locator и Clear Architecture на PowerBuilder

Конвейеры
0 успешных
0 с ошибкой