В чем разница между чистой и n-уровневой архитектурой?

В чем разница между чистым и архитектуры n-tier?


person inf3rno    schedule 03.03.2014    source источник
comment
Это характерно для Ruby?   -  person Fendy    schedule 04.03.2014
comment
Чистая архитектура тесно связана с рубином: youtube.com/watch?v=WpkDN78P884   -  person inf3rno    schedule 04.03.2014


Ответы (1)


Оба стиля архитектуры применяют слои для разделения задач, но делают это по-разному.

  • Многоуровневая архитектура предназначена для взаимодействия с базой данных через уровни бизнес-логики и представления. Он тесно связан с внешними компонентами (сторонними фреймворками / драйверами), которые вы хотите использовать, например, с HTTP-сервером, ORM или драйвером SQL ...

  • Чистая архитектура заключается в реализации сценариев использования и создании на их основе слоев адаптеров и внешних компонентов (сторонних фреймворков / драйверов). Он слабо связан с внешними устройствами, которые вы хотите использовать, из-за слоя адаптеров. Имейте в виду, что при чистой архитектуре уровни представления и базы данных будут включены во внешние элементы. Таким образом, чистая архитектура больше связана с созданием приложения и отделением его от внешних компонентов, которые оно использует для взаимодействия со своей средой. В этом сценарии намного проще тестировать, разрабатывать и поддерживать код приложения. Вам не нужно писать интеграционные тесты или имитировать ORM для проверки бизнес-логики. Вам не нужно беспокоиться о внешнем, реализуя бизнес-логику, вы можете сосредоточиться на самом приложении. Вам не нужно изменять бизнес-логику для замены какого-либо внешнего фреймворка / драйвера, для этого достаточно написать новый адаптер.

Так что я думаю, что чистая архитектура - лучший выбор.

person inf3rno    schedule 09.03.2014
comment
Ссылка не работает - person Bart VdA; 03.11.2019
comment
@BartVdA Вы можете прочитать сообщение в блоге здесь: https://web.archive.org/web/20160531152617/https://subvisual.co/blog/posts/20-clean-architecture, но я не могу найти комментарии. : S Я удалил ссылку. - person inf3rno; 03.11.2019