DevPrep

Все темы › Архитектура программного обеспечения

Clean Architecture vs VIPER — общее и различия?

Senior PRO

Суть

Clean Architecture — набор принципов: концентрические слои (Entities → Use Cases → Interface Adapters → Frameworks) и Dependency Rule «зависимости только внутрь». Она не говорит, сколько классов у экрана и как они называются.

VIPER — конкретный шаблон модуля для UIKit, который реализует эти принципы на уровне одного экрана: View, Interactor (use case), Presenter (interface adapter), Entity, Router. Это один из способов «разложить Clean по файлам»; другие — Clean Swift (VIP), RIBs от Uber, «Clean + MVVM + Coordinator».

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store