As we know In an application there is thousands line of code and hundreds of files. In this environment we can't predict exactly that changes in one section will effect how many other sections. For a programmer it is difficult to manage it. But if we notice, basically there is three part in any application: which user sees(interface) which handle interaction between user and business logic code which interact with database(business logic) Example: As we mange things in our house as One place for grocery products(kitchen) Makeup and cosmetics are in one place Medicines are in a fixed place So we can get them with less effort on time. same way MVC works regarding code to which our ROR follows. MVC is just an software architectural Pattern to mange code: View(User interface related code) Controller(bridge between view and model) Model(database related code and business logic) According to MVC, View will never interact directly to Model. It will be the Con...