İçeriğe geç

Wedat.org | Web Uygulama Geliştirme Dersleri Yazılar

Entity-Attribute-Value (EAV) PHP Tasarım Deseni

Entity-Attribute-Value(Varlık-Özellik-Değer) modeli, onları tanımlamak için kullanılabilecek özelliklerin (properties, parameters) sayısının büyük olabileceği varlıkları tanımlamak için bir veri modeli olmakla birlikte, aslında belirli ve nispeten ılımlı bir varlık için geçerli olacak sayıdır. Örneğe ait kodlar; Test İşlemi şu şekilde olacaktır;

Observer PHP Tasarım Deseni

Bir nesneye, yayınım/katınım (publish/subscribe) davranışını uygulama için kullanılır. Bir modele crud vb işlemleri uygulandığında observer(gözlemciler)’a belirtilen işlemler yaptırılır. Örnek olarak yeni bir üyeniz olduğunda üye bilgilerini mail ile göndermek verilebilir. Örneğe ait kodlar; Test İşlemi şu şekilde olacaktır;

Iterator PHP Tasarım Deseni

Nesneyi ilerletilebilir (iterable) yapmak ve nesnelerin bir yığın (collection) gibi görünmesini sağlamak için kullanılır. Örneğe ait kodlar; Test İşlemi şu şekilde olacaktır;

Command PHP Tasarım Deseni

Bir çağrıcımız (invoker) ve bir çağrı ayrıştırmacımız yani alıcımız (receiver) olsun. Bu desen, bir “Komut” kullanarak alıcıya karşı yöntem çağrısının (method call) atamasını yapar, ve aynı yöntemi execute() olarak sunar. Böylece çağrıcı, istemcinin (client) komutunu yürütmek için, yalnızca execute() yöntemini…

Proxy PHP Tasarım Deseni

Maliyetli olan veya yinelenmesi (duplicate) mümkün olmayan bir şeyi arayüzleyerek(interface) kullanılır. Örneğe ait kodlar; Test İşlemi şu şekilde olacaktır;

Flyweight PHP Tasarım Deseni

Bellek kullanımını en aza indirmek için kullanılır. Bir Flyweight(hafifletici), belleği mümkün olduğunca benzer nesneler ile paylaşır. Durum (state) içerisinde çok değişikliğe uğramayan çok sayıda nesne kullanıldığında gerek duyulur. Genel bir uygulama, harici veri yapılarında durumu tutmak ve gerektiğinde onları Flyweight(hafifletici)…

Fluent Interface PHP Tasarım Deseni

Kodu kolayca okunabilir bir biçimde yazma mimarisidir. Doctrine2: QueryBuilder aşağıdaki örnek nesneye benzer bir biçimde çalışır. Örneğe ait kodlar; Test İşlemi şu şekilde olacaktır;

Facade PHP Tasarım Deseni

Bir Facade(önyüz), bir veya birden fazla arayüzü gömerek (interface injection) bir istemci ve bir alt sistemi ayrıştırmak ve tabii ki karmaşıklığı azaltmak içindir. -Bir Facade(önyüz) alt sisteme erişimi yasaklamaz. -Bir alt sistem için birden fazla Facade(önyüz)’ye sahip olabilirsiniz (olmalısınız). İyi…