Ana Sayfa

İç Platform Etkisi: Aşırı Özelleştirmenin Tuzakları

1 dk okuma

Yazılım tasarımında sıkça karşılaşılan sorunları tanımlayan 'antipattern'ler, yazılım geliştiricilerin kaçınması gereken yaygın hataları ortaya koyar. Bu antipattern'lerden biri, makalede 'İç Platform Etkisi' olarak adlandırılıyor. Bu etki, bir sistemin o kadar özelleştirilebilir tasarlanması sonucunda ortaya çıkar ki, sistem kendi üzerinde çalıştığı platformun zayıf bir kopyasına dönüşür. Bu dinamik iç platformun özelleştirilmesi o kadar karmaşık hale gelir ki, son kullanıcılar yerine yalnızca programcılar tarafından değiştirilebilir hale gelir.

Makalede, bu antipattern'in somut bir örneği olarak Mario'nun dahil olduğu bir kredi onay sistemi sunuluyor. Bu sistem, veritabanı değişiklikleri için programcılara bağımlı olmak yerine, kullanıcıların 'Veri Yapısı Modelleme Aracı' (Data Structure Modeler - DSM) aracılığıyla kolayca değişiklik yapabilmesi amacıyla tasarlanmıştı. Ancak DSM, verileri 'Tablo' adı verilen bir yapıda düzenleyerek, her 'Tablo'nun bir veya daha fazla 'Alan'a sahip olduğu ve her 'Alan'ın belirli bir 'Veri Tipi'ne sahip olduğu bir sistem kurmuştu. Tek bir veri parçası 'Alan Değeri' olarak saklanıyordu ve tüm bunlar ilişkisel bir veritabanı içinde depolanıyordu. Bu durum, sistemin aslında ilişkisel bir veritabanının temel işlevlerini kendi içinde yeniden yaratmaya çalıştığını gösteriyor.

Ironik bir şekilde, Mario, müşterinin bir forma yeni bir alan eklemek istemesi üzerine bu sisteme dahil edilmişti. Bu basit görünen değişiklik, sistemin aşırı özelleştirilebilir yapısı nedeniyle karmaşık bir programlama görevine dönüşmüştü. İç Platform Etkisi, yazılım tasarımında esnekliğin sınırlarını aşmanın ve temel platform işlevlerini yeniden icat etmeye çalışmanın, sonunda daha karmaşık, bakımı zor ve verimsiz sistemlere yol açtığını açıkça ortaya koymaktadır.

İçgörü

Aşırı özelleştirme amacıyla tasarlanan sistemler, kendi platformlarının işlevlerini yeniden yaratarak karmaşıklığı artırır ve bakımı zorlaştırır.

Kaynak