Anasayfa » Arşiv Eylül 2021
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;
Etki alanı nesnelerine erişmek için yığın (collection) benzeri bir arayüz kullanarak, etki alanı (domain) ve veri haritalama katmanları (mapping layer) arasında aracılık yapar. Repository, bir veri deposundaki (data store) kalıcı nesnelerin kümesini ve bunların üzerinde gerçekleştirilen işlemleri sarmalayarak (encapsulation), kalıcılık…
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;
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;
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…
Uygulama genelinde sıkça kullanılan nesneleri (örn. Yapılandırma (Configuration)) merkezi bir saklama alanında tutma mimarisidir. Bu sıklıkla statik yöntemlere sahip sınıflar (veya Tekilleme (Singleton) deseni) kullanılarak yapılır. Ancak unutmayın, bu genelgeçer bir durum (global state) ortaya koyar ki, bunu her zaman…
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;
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)…
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;
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…