Fabrika Deseni Nedir?

Bilgisayar programlamada, fabrika başka nesneler oluşturmak için kullanılan bir nesnedir. Bu durumda, nesneler kodda kullanılan değerleri, işlevleri veya veri yapılarını ifade eder. Fabrika modeli, fabrikaları doğrudan nesneleri oluşturmak yerine, nesneleri yapmak için kullanan bir tasarım desenidir. Bu, kodun kolayca değiştirilmesine ve esnekliğin korunmasına izin verir. Programları ve uygulamaları oluşturmak için nesneleri kullanan nesne yönelimli bilgisayar programlamasında yaygın olarak kullanılır.

Bir fabrikada, oluşturabileceği her çeşit nesne için bir yöntem vardır. Bir yöntem esasen bir kalıptır. Genellikle kullanıcı tarafından sağlanan ve belirli bir nesneyi çıkaran parametreleri alan bir alt rutin olarak bilinen bir dizi komuttan oluşur. Bunun çoğu, kullanıcı veya müşteri bu konuda hiçbir şey bilmeden, sahne arkasında gerçekleşir.

Fabrika şablonunu kullanırken, program doğrudan sınıflarla iletişim kurmak yerine ortak bir arayüzle etkileşime girer. Bir sınıf, nesne oluşturmak için şablon olarak kullanılır. Belirli bir sınıfın her nesnesi aynı davranışı ve temel özellikleri paylaşır. Sınıflar, her biri ait olduğu sınıfın bazı niteliklerini miras alan alt sınıflara ayrılabilir. Belirli bir sınıfın nesnesi, o sınıfın bir örneği olarak bilinir.

Örneğin, kullanıcı programın fabrika modelini kullanan bir programda veya işletim sisteminde bir kare oluşturmasını isterse, program fabrikaya, kullanıcının dört tarafı eşit uzunlukta ve dört dik açılı bir nesneye ihtiyaç duyduğunu bildirir. Fabrika, bir şeklin gerekli olduğunu şekil yöntemine bildirirdi. Kullanıcının karenin kaplamasını istediği alan gibi karenin bazı parametrelerini geçebilir.

Alt sınıflar hangi sınıfın kullanılması gerektiğine karar verir. Sınıf karesinin bir örneği, ilk talep eden programa aktaracak olan fabrikaya iade edilir. Kullanıcı sadece bu bilginin fabrikaya gönderildiğini ve fabrika tarafından iade edildiğini görecekti. Fabrikanın iç işleri görülemez.

Bir fabrika modeli kullanmanın avantajı, programın kolayca değiştirilmesine olanak vermesidir. Fabrika modeline basitçe müşteri kodunun küçük bir parçasını değiştirerek, genellikle birden fazla satırdan oluşan yeni tipler eklenebilir. Diğer programlama kalıpları, programcının bir nesnenin yaratıldığı her konumda kodu değiştirmesini gerektirir.