Ana içeriğe atla

System.Reflection

Güncel kod geliştirme ortamları ve bu ortamlara ait framework özellikleri artık çok gelişti. Kod veya tasarım artık çok gizli ya da kapalı değil. İçeride (assembly) kullanılan bir sınıf, yöntem ya da tip tanımlaması dışarıdan kolayca izlenebiliyor (tabi ki kod şifrelemeye ihtiyaç duymuyoruz, delikanlı tasarımcı kodunu gizlemez!) ancak bu tür sistemleri (örnek : .Net framework) geliştiren tasarımcıların bir sonraki hedeflerini kestirmek gerçekten zor olabilir.

Bu zorluğa bende birkaç önerim ile katkıda bulunmak istiyorum.

Evet, kodu tasarladık, compile ettik, testlerimizi gözden geçirdik ve herşey uygun. Tasarımı (dll, exe şeklinde) müşterilere (iç ya da dış ) gönderdik. Eğer gönderilen yerde reflection araçları varsa herşey ortada. Tasarımcının gizli dünyasına, yazılım yaparken beyninde kurguladığı ve sonrasında sıfır-bir şekline dönüşecek bir ortama aktarması, bu aktarım sırasında yaşanan sıkıntıları, masada oturmaktan kaynaklanan yorgunluk şikayetleri, sınıfları, yöntemleri, hepsini desteklemediği özellikler, hayalleri, gelecek sürümlere ait bırakılan açık kapılar, duygular, derlemiş olduğu ürünün sahiplenmesine yönelik ruhsal fırtınalar vb. vb.

Evet, bence ilerideki hayal reflection aracı tüm bu saydıklarımı ve sayamadıklarımı da gösterebilmelidir. O zaman sadece tasarımcının neyi, nasıl ve neden yaptığını daha kolay anlayabiliriz. İçinde duygu ve düşünce yok, başka birisinin tasarımı karşımızda! Ne kadar anlaşabiliriz ya da ne kadar sevebiliriz, kestiremiyorum!.

Ben .Net framework Y.X sürümünde bu tür bir yazılımcı-tasarımcı-meta-framework özelliğinin olmasından yanayım. O zaman C:\Windows\System32 dizinine baktığımızda her DLL ya da EXE dosyasında yazanların neler çektiğini, nerelerde zorlandığını, neden en son bu tür bir tasarıma karar verdiğini, duygularını, sınıflarını, değişkenlerini ve kod satırlarını

"NewOfNewReflect.EXE C:\windows\system32\BestCore.DLL -WithFullEmotionSupport"

şeklinde izleyebiliriz.

Buraya kadar okuyup bu özellik neye yarar diye soranlar varsa (ki olabilir), önerim en kısa sürede kod yazmanız olacaktır.

Bu blogdaki popüler yayınlar

Zeki sistemler

Zeki sistemler: Yapay zeka tekniklerini kullanan sistemlerdir. Sistem: Ortak bir amaca hizmet etmek için bir araya gelmiş bir ya da birden fazla elemanın uyum içinde çalışmasıdır. Melez Zeki Sistemler: Bir ya da birden fazla zeki sistemin bir araya gelmesi ve uyum için çalışmasıdır. Neden melez sisteme ihtiyaç var? Birçok iyi sistem bir araya getirilerek daha iyi sistemler oluşturulabilir. Uzman sistemlerdeki kararlılık, Genetik algoritmaların rastgeleliği ve True/False olarak ifade edilemeyen ancak yine de çözüm beklenen durumlarda bulanık sistemlerin kullanılarak "Melez Sistemlerin" tasarlanması birçok soruna çözüm sağlayabilir. Üst Zeki Sistemler: İnsan zekasına biraz daha yaklaşmayı hedefleyen ve şuan üzerinde düşündüğüm, çok daha fazla kaynak okumamı gerektiren sistemlerdir. Bu sistemlerle insan zekasına biraz daha yaklaşılması hedeflenebilir. Üst ( Meta ) Zeki Sistem (ÜZS) ile aynı anda birden fazla yapay zeka tekniği ya da alt sistemler kullanılabilir. Görüntü tanıma t

Inposia olarak «e-İrsaliye özel entegratörlük test sürecini» başarıyla tamamladık.

Göksel Üçer - Netle - Netle by Avalara

  Merhaba Arkadaşlar, Zaman çok hızlı geçiyor, biraz geç kalmış olabilirim ve Urla'daki kablosuz ağ üzerinden bu mesajımı da paylaşmak istemedim 😊 Netle'ye geçtiğim ilk yılları hatırlıyorum. Temmuz 2011 döneminde her şey bir anda olmuştu. Yönetici pozisyonundan à şirket sahibi olmak gibi durum değişikliği genelde uzun sürer, planlı olur ve stratejiler belirlenerek yapılırdı ama böyle olmadı. Hayatın bize getirdiklerine razı geldik. Her şey çok hızlı gelişti. Bir anda şirket sahibi olmuş ve diğer kurucu ortaklarımla çalışmaya başlamıştım.  Farklı hedefler, farklı çözümler ve farklı gereksinimler hep vardı ve önemlisi de bunları besleyen, büyüten, gerçekleştiren çok sıkı-yakın-dostlarım oldu. Birlikte yazdık, birlikte hayal ettik, birlikte geliştirdik ve birlikte farklı paradigmaların ulusal yazılımlarına kazanımlarını sağladık. İki ana kolda, aynı omurgada (middle-ware) tek bir şirket stratejisi ile bunu yapmak tabii ki kolay olmadı. Elde olmayan nedenlerden dolayı beklenmeyen