Информация об изменениях

Сообщение Re: какие самые общие рекомендации по построению архитектуры от 21.03.2016 1:09

Изменено 21.03.2016 1:10 Vladek

Здравствуйте, developer999999, Вы писали:

D>какие самые общие рекомендации по построению архитектуры вы можете дать?

D>вне зависимости от платформ, технологий и предметных областей

Это очень просто, в одной картинке:



Справа — та часть системы, с которой взаимодействует пользователь (веб, телефон, терминал, десктоп, служба), пользовательский интерфейс (UI). Слева — ядро системы, "бизнес-логика". UI общается с ядром через сообщения (RequestModel, ResponseModel), этим и обеспечивается их независимость друг от друга — можно нарисовать UI без ядра и написать ядро без UI. Общение UI и ядра координирует Interactor, умеющий получать запросы от UI и отправлять ответы от ядра — механизмом доставки сообщений заведует Boundary. Так же Interactor умеет пробуждать ядро к жизни с помощью Entity Gateway.

Запросы и ответы всегда двигаются в одну сторону:
Запрос: UI->(Request)->Boundary->Interactor->Entities
Ответ: UI<-Boundary<-(Response)<-Interactor<-Entities

Это всё подробно объясняет Роберт Мартин на Ютубе.
Здравствуйте, developer999999, Вы писали:

D>какие самые общие рекомендации по построению архитектуры вы можете дать?

D>вне зависимости от платформ, технологий и предметных областей

Это очень просто, в одной картинке:



Слева- та часть системы, с которой взаимодействует пользователь (веб, телефон, терминал, десктоп, служба), пользовательский интерфейс (UI). Справа — ядро системы, "бизнес-логика". UI общается с ядром через сообщения (RequestModel, ResponseModel), этим и обеспечивается их независимость друг от друга — можно нарисовать UI без ядра и написать ядро без UI. Общение UI и ядра координирует Interactor, умеющий получать запросы от UI и отправлять ответы от ядра — механизмом доставки сообщений заведует Boundary. Так же Interactor умеет пробуждать ядро к жизни с помощью Entity Gateway.

Запросы и ответы всегда двигаются в одну сторону:
Запрос: UI->(Request)->Boundary->Interactor->Entities
Ответ: UI<-Boundary<-(Response)<-Interactor<-Entities

Это всё подробно объясняет Роберт Мартин на Ютубе.