Lý do tại sao chúng thường được tách rời là vì bạn muốn chế độ xem của bạn sử dụng bộ điều khiển để có được mô hình của bạn. Nhưng kiến trúc sẽ cho phép bạn thay thế một khung nhìn bằng một khung nhìn khác mà không phải thay đổi logic nghiệp vụ (tức là mô hình đối tượng hoặc cách các đối tượng đó được truy xuất).
Bằng cách không buộc trực tiếp bộ điều khiển của bạn vào chế độ xem, sau này tôi sẽ dễ dàng thêm các chức năng khác như nhập / xuất có thể sử dụng trực tiếp bộ điều khiển / mô hình mà không cần phải dựa vào bất kỳ giao diện người dùng nào.
Một lợi thế khác của việc đẩy càng nhiều mã càng tốt ra khỏi UI là bởi vì các UI khó kiểm tra đơn vị hơn nhiều so với lớp nghiệp vụ phía sau chúng. Bằng cách tách càng nhiều càng tốt ra khỏi chế độ xem, bạn có thể viết các bài kiểm tra đơn vị nhiều hơn nữa để đảm bảo bộ điều khiển / mô hình và logic ứng dụng của bạn là chính xác.