Also when working in larger organizations, there needs to be some clear boundaries between View(UI)/Model(domain/network/database) logic since each might be managed by different teams and other team won't care mostly unless issue if any is confirmed to be in their domain.
when there is no such boundaries, mostly particular teams get hit most of the time and after wasting several developer hours will pass on to the proper team.
Post
Replies
Boosts
Views
Activity
yep, the UI Layer not manipulating data directly and thus delegating to either controller/view-model is separation of concerns (where business or domain logic doesn't need to be tied(directly) to the views - though they can be packaged separately and expose only public interfaces for consumption by view).
By doing tight coupling, mocking becomes a problem when doing isolated component testing or integration testing.