Genel olarak programlama dillerin kullanılan patternler diyebiliriz hocam. Büyük bir çoğunluğu php tarafından da kullanılıyor. SancarSaran çok güzel bir şekilde özetlemiş zaten mevzuyu ancak bir iki husus da ben ekleyeym.

Design pattern yani tasarım desenlerini kullanarak herkes tarafından rahatlıkla anlaşılan kodlar oluşturabilirsiniz. Mesela Sancar hocamın dediği gibi bir sınıf yazdınız. Sizle ve sizden sonra projeyi kodlayan herkes nasıl db bağlantısı yaptığınızı bilecek, gereksiz bağlantılar yapmayacaktır. Ayrıca getInstance metodunu ele alırsak.


public static function getInstance()
{
if(!self::$instance)
{
self::$instance = new ConnectDb();
}

return self::$instance;
}


Burada "singleton pattern" olarak bildiğimiz bir desen var. Siz eğer daha önceden bir instance oluşturmuş iseniz, ikinci querynzde yeni bir bağlantı sınıfı oluşturmayıp mevcut instanceyi tekrar tekrar kullanabiliyorsunuz. Bu hem verilerinizi sonradan kullanabilme olanı sağlar hemde aynı sınıfın gereksiz yere çoğaltılmasını ve ramin boş yere doldurulmasını engeller.

Özellikle java tamamen oop'ye dayandığı için bu tarz patternler çok yaygın olarak kullanılıyor. Phpde de mvc patternler sağolsun (bakın bu da bir design pattern) proje baştan sona classlar kullanılarak oluşturulduğu için bu patternler her alanda kullanılıyor. Bu patternler sayesinde insanlar belli bir kalıba uygun olarak kodlanıyor böylece yazdığınız projeyi devam eden veya sizinle birlikte aynı anda geliştiren insanlar ne yazdığınızı daha rahat okuyup anlayabiliyorlar, daha kolay geliştirebiliyorlar.

Ayrıca bu patternleri kullanırsanız, sizden önce bu patternleri geliştiren insanların tecrübelerinden faydalanacağınız için hem kodunuzu daha kısa sürede yazarsınız, hem de ileriye dönük beklenmedik hatalar ile fazla karşılaşmazsınız..

Çeşit çeşit faydaları var yani hocam :)

ek olarak şu linkte bu patternleri görebilirsiniz (https://designpatternsphp.readthedocs.io/tr/latest/README.html)