Singleton Patron, Observer Komşu: Yazılım Desenleriyle Toplumun Gizli Tiyatrosu

Yazılım tasarım desenleri ilk bakışta soğuk bir mühendislik sözlüğü gibi görünür: Singleton, Observer, Factory, Adapter… Oysa biraz yaklaşınca bu desenlerin sadece kodu değil, toplumu da tarif ettiğini fark ederiz. Çünkü insan kalabalıkları da tıpkı büyük yazılım sistemleri gibi karmaşıktır; tekrar eden problemler üretir, bu problemlere pratik çözümler bulur ve sonra bu çözümleri gelenek, rol, unvan ya da karakter diye paketler. Mahalledeki her şeyi bilen teyze ile bir olay olduğunda anında haberdar olan Observer deseni arasında sandığımızdan az mesafe vardır.

Design pattern dediğimiz şey, aynı türden problemlere defalarca verilmiş sınanmış cevaptır. Kod dünyasında bu, geliştiricinin her seferinde sıfırdan kahramanlık yapmasını engeller. Toplumda da roller benzer bir iş görür. Öğretmen, arabulucu, asi genç, bilge ihtiyar, düzen koruyucu, girişimci, günah keçisi… Bunların her biri sosyal sistemin tekrar eden gerilimlerine verilmiş kalıplaşmış çözümlerdir. Klişe olmaları onları değersiz yapmaz; tam tersine, klişe dediğimiz şey çoğu zaman kültürel hafızanın önbelleğidir.

Singleton: Tek Adam, Tek Kapı, Tek Hakikat

Singleton deseni, bir sınıftan yalnızca bir örnek üretilmesini garanti eder. Yazılımda bazen gereklidir: merkezi yapılandırma, log sistemi, kaynak yönetimi. Toplumdaki karşılığı ise daha tehlikelidir: her şeyi bilen tek lider, tek uzman, tek ağabey, tek kanaat önderi. Bir ailede herkesin son sözüne baktığı kişi, bir ofiste bütün kararların önünde düğümlendiği yönetici, bir toplulukta gerçeğin tek distribütörü olan figür… Singleton sosyal hayatta pratiklik sağlar ama bağımlılık üretir. Sistem hızlı karar alır; fakat o tek nesne bozulursa, bütün mimari titrer.

Observer deseninde bir nesnenin durumu değiştiğinde ona bağlı gözlemciler haberdar edilir. Sosyal medyayı düşünün: biri ilişki durumunu değiştirir, yüzlerce Observer tetiklenir. Mahalle kültürü de eski usul bir event-driven mimaridir. Perdeler aralanır, balkonlar subscribe olur, haber yayılır. Observer sağlıklıdır; çünkü sistemin çevresel farkındalığını artırır. Ama aşırı kullanıldığında paranoyak bir toplum üretir: herkes herkesin olay dinleyicisidir, kimse kendi iç sürecinde yalnız kalamaz. Bildirim çağında insan, kendi ruhunun bile push notification alıcısına dönüşür.

Factory deseni, nesne üretimini merkezileştirir ve soyutlar. Toplumda bunun karşılığı kurumlar ve ritüellerdir. Okullar öğrenci üretmez sadece; vatandaş, uzman, itaatkâr, muhalif, başarılı çocuk gibi sosyal nesneler üretir. Aileler, şirketler, tarikatlar, üniversiteler ve algoritmalar birer Factory gibi çalışır. Hangi girdiden hangi rolün çıkacağını belirleyen görünmez kalıpları vardır. Burada soru şudur: Bizi kim instantiate ediyor? Kendi kurucumuz biz miyiz, yoksa başkalarının sınıf şemasından türetilmiş birer nesne miyiz?

Adapter deseni iki uyumsuz arayüzü konuşturur. Toplumun Adapter karakterleri tercümanlardır: kuşaklar arasında köprü olan çocuk, mühendisle müşteri arasında sıkışan ürün yöneticisi, aileyle modern hayat arasında arabuluculuk yapan genç kadın, akademiyle halk arasında dil kuran popüler bilimci. Adapter görünmez emek harcar. Herkes anlaşmayı doğal sanır, oysa arada biri protokol çevirisi yapıyordur. Bu rol yorucudur; çünkü Adapter hem kaynak sistemin hem hedef sistemin hatasını üstlenir. Yine de medeniyet dediğimiz şey, büyük ölçüde iyi yazılmış adaptörlerden oluşur.

Decorator deseni bir nesneye davranış ekler; onu kökten değiştirmez, katmanlandırır. Sosyal hayatta unvanlar, kıyafetler, diplomalar, biyografiler ve marka kimlikleri birer Decorator’dır. İnsan aynı insandır, ama üzerine profesörlük, CEO’luk, sanatçılık, aktivistlik, influencer’lık sarılır. Sorun, dekorasyonun özü yutmasıdır. Kodda aşırı Decorator okunabilirliği bozar; hayatta aşırı imaj da karakteri belirsizleştirir. Bir noktadan sonra karşımızdaki kişinin kim olduğunu değil, hangi katmanları taşıdığını görürüz.

Strategy deseni, davranışı koşullara göre değiştirilebilir hale getirir. Bu, sağlıklı yetişkinliğin yazılımsal metaforudur. Her durumda aynı tepkiyi veren insan kırılgandır; bağırmak, susmak, kaçmak ya da memnun etmek tek stratejiyse sistem kolay tahmin edilir ve kolay sömürülür. Bilge kişi içinde çoklu Strategy barındırır: gerektiğinde savaşır, gerektiğinde geri çekilir, gerektiğinde pazarlık eder, gerektiğinde bekler. Jungiyen dille söylersek, olgun benlik tek bir persona’ya hapsolmaz; gölgesiyle, kahramanıyla, bilgesiyle ve soytarısıyla temas kurar.

Bu benzetmelerin büyüsü şurada: Tasarım desenleri bize klişelerden utanmamayı, ama onlara teslim olmamayı öğretir. Kötü yazılımcı deseni ezbere uygular; iyi yazılımcı bağlamı okur. Kötü toplum da insanları hazır rollere hapseder; iyi toplum rollerin geçici, geçirgen ve dönüştürülebilir olduğunu bilir. Belki de en büyük mesele şudur: Kendi hayatımızın kod tabanında hangi desenleri miras aldık, hangilerini bilinçle kullandık, hangileri artık teknik borca dönüştü? İnsan, bazen refactor edilmesi gereken bir mimaridir.

Bir yanıt yazın

Ad ve E-posta zorunlu değildir.