Как правило, в шаблоне проектирования MVVM контроллер не будет напрямую взаимодействовать с моделью. ViewModel будет буферным слоем между C и M. Однако, если в модели есть модель данных, например
struct Book
{
var title: String
}
, мы все равно можем определить переменную в контроллере, например:
var books = [Book]()
В этом случае контроллер по-прежнему может напрямую взаимодействовать с моделью, но не через ViewModel.
Есть способ предотвратить это? Например, добавление контроля доступа для класса Model или другими способами.