Kapat

Php Oop ve Mvc Mimarileri Farkı

OOP ve MVC farklı kavramlar karşılaştıracak pek bir tarafı yok. İkisi de birer bir mimari OOP. Bir depodaki malları düzenli dizmeye ve bölümlere ayırmaya ihtiyacın olduğunda her şeyi doğru düzgün bir halde olmasını sağlamak gibi düşünün.

MVC’ de o depoda yer alan ürünlerin depodan dışarıya dağıtım şeklini şu şekilde anlatabilirim. Siz bir markete girdiniz bir paket süt aldınız. 1 tane ekmek aldınız 1 tane çay aldınız. Sonra gidip kasadan ödeme yaptınız. Bu yapıda her şeyin yeri belli ürünler reyonlarında. Taşımak için sepet veya market arabanız var. Kasada da ödeme yapacaksınız gibi düşünün. Burada siz sütü süt arabasıyla süt kasasına götürür. Ekmeği ekmek arabasında ekmek kasasına götürürseniz sistemde bir aksama olmaz. Alışveriş yaparsınız sadece problemler ve gecikmeler oluşur sonradan 1 kg elma alıyım derseniz tekrar elma arabası elma kasası gibi işlere girişmeniz gerekir. Yine alışveriş yapmış olursunuz. Bu şekilde zaman ve tasarruf için doğru olmaz.Bu gibi karmaşık yapılardan kurtulmak için MVC dediğimiz bir yapı tasarlanmış.

M:Model kısaca database olarak düşünebilirsiniz. Bu yapıda sadece database ile alakalı işlemler yer alır ve tüm database işlemleri birbirine çok yakın yapılardadır.

V:View adı gibi görüntüleme görünüm veya kullanıcının göreceği son kısım gibi düşünün. Programınızın görünen kısımıyla ilgili ayarları burada yapacaksınız. Örnek bir projeniz bitti tasarımda bir düzenleme yapacaksınız. Mvc yapısı kullanmazsanız bu kodlarınızın birçok noktasında düzenleme yapmanız anlamına gelecektir. Mvc yapısında çok kısa bir kaç düzenleme ile projenizi yeniden farklı bir görünüme geçirebilirsiniz.

C:Controller Bu kısımda projenizin aslında işlemlerinin yapıldığı yer anlamına geliyor diyebilirim. Projenizde yer alan hesaplamalar sorgular vs tamamen burada yer almakta. Genelde bu işlemler şöyle olur :

Model <-> Controller <-> View sürekli bu şekilde iletişim halindedir. Başlarda zorlanabilirsiniz çok doğal ama alıştığınızda ve öğrendiğinizde işleriniz aşırı kolaylaşacaktır. Bu market örneğindeki gibi problem olmaz ama kendinizi yormuş olursunuz.