yazılım tasarımında; veri ile kullanıcıya gösterilecek arabirim katmanlarını birbirinden ayırma mantığına verilmiş isim. (bkz:
design pattern)
model-view-controller kalıbı da ek olarak kullanıcı arabirimindeki kontrollerin (örneğin yazı, işaret kutusu, liste) değişmesi daha doğrusu olay
* üretmesi durumunda meydana gelmesini istediğiniz etkiler için controller katmanını içerir.
örnek olarak bir web uygulaması için bu kalıbı uygulamak istersek model, veritabanından verileri alıp, işleyip, kullanıcıya sunulabilecek hale getiren kod parçası; view de kullanıcıya yollanan html kodunu oluşturan kod kısmı olacaktır. en önemli avantaj, uygulamanın kullanıcı arabiriminin değiştirilmesinin istendiği durumda sadece view katmandaki değişikliğin yeterli olmasıdır.