Merhaba,
Profesyonel anlamda bu işi yapmaya başladığımdan beri gözlemlediğim şeylerden birede, bir proje başlandığında herkesin bir heycanla "Abi ayıralım kodları, 3 katmanlı mimari olsun, Data Access Layer, Business Layer, Presentation Layer koyalım süper olsun" yaklaşımıyla başladığı, bunlardan Data ve Business'ın nispeten iyi kotarıldığı ama iş Prenstation'a geldiğinde kodların çöplüğe döndüğünü gördüm. Genelde Presentation Layer küçümsenen ve "Yaparız hacı, button click değil mi?" tarzında yaklaşımlara maruz kalan bir katman. Aslında kazın ayağı öyle değil, UI'ında kendi ait bir business'ı, iş akışı var, ekrandaki kontrol sayısı arttıkça ve son kullanıcıdan gelen ipe sapa gelmez isteklerin sayısı arttıkça iş iyice karmaşıklaşıyor.
Her ne kadar Türkiye'de ki Developer Camiasında artık bir bilinçlenme başlamış olup, butonun altına kod yardırma geleneği etkisini kaybetip yavaş yavaş, yerini "OOP varmış, bunun presibleri varmış" yaklaşımına bıraksada UI konusu benim gözlemlediğim kadarıyla göz ardı ediliyor. Buton altı konusu açılmışken Oğuz Yağmur'un yıllarca önce yazdığı konuyla ilgili çok güzel bir makale var, buradan okuyabilirsiniz.
Yinede ben Türkiye'de ki tablonun Oğuz Yağmur'un o yazıyı yazdığı günlerde ki kadar karanlık olduğunu düşünmüyorum. Böyle düşünmemin sebebi de bugün iş ilanlarına baktığım zaman, OOP bilen, Kurumsal Mimarilerde tecrübleri olan gibi özelliklerin artık daha ön plana çıkması. Hatta artık Back-End Developer ve Front-End Developer kavramları bile insanların kafasında netleşmiş olucak ki, artık kimse superman developer aramıyor.
Nesne Yönelimli Programlama (Object-Oriented Programming) prensipleri, inanılanın aksine hayatımızı kolaylaştıran, değişikliklere ve geliştirmelere hızlı ayak uydurmamızı sağlayan prensipler. Bunlardan konumuzla en ilgili olan prenstip Separation of Concerns prensibi. Biraz uzun bir yazı olucak sanırım, yazmak istediğim çok şey var
Fazlası...