API PROGRAMLAMA MODELİNİN PROBLEMLERİ
Bir Windows programının organizasyonu en iyi API programlama modeliyle yansıtılabilir. Çünkü API programlama Windows’ta en aşağı seviyeli çalışma biçimidir. Yani Windows sistemi iskelet API programındaki düzenlemeye uygun olarak çalışmaktadır. API programlama modeli aşağı seviyeli ve Windows’un çalışmasını iyi açıklamasına karşın uygulama geliştirmede pek çok zorluklar içerir.
1) API programlamada pek çok temel işlemin her defasında programcı tarafından yeniden aynı biçimde yapılması gerekir.
2) API programlama nesne yönelimli bir model değildir. Dolayısıyla büyük projelerde çok karmaşık bir yapı oluşturmaktadır.
3) Mesajların ele alınıp işlenmesi, global değişkenlerin çok bol kullanılması proje geliştirmede problemli bir konudur. Aşağı seviyeli olduğu için her türlü ayrıntının programcı tarafından ele alınıp işlenmesi gerekir.
1.1 Windows Programlamada Bir Sınıf Kütüphanesinden Beklenenler
Genel olarak bir sınıf kütüphanesinden işlemleri kolaylaştırması beklenir.
1) Hep aynı biçimde yapılması gereken rutin işlemleri ortadan kaldırmalı, yani kütüphanenin bunu bir biçimde arka planda kendisinin yapması.
2) Birtakım ayrıntıların gizlenmesiyle bir soyutlamanın sağlanması. Örneğin WinMain fonksiyonunun ve pencere fonksiyonlarının gizlenmesi mesajlar oluştuğunda belirli fonksiyonların çağrılması istenen tipik soyutlamalardır.
3) Kullanılan kütüphanenin bir sınıf kütüphanesi olması istenir. Çeşitli olayların sınıflarla temsil edilmesi karmaşıklığı azaltmakta ve uygulama geliştirmeyi kolaylaştırmaktadır.
4) Kütüphanenin çeşitli yararlı programları içeren bir IDE (Integrated Development Environment) ile birleşik olması istenir. Tipik bir IDE çeşitli wizard’lara, görsel editörlere, rutin işlemleri kaldıran kolaylıklara sahip olmalıdır.
Windows için yazılmış bir kütüphanenin seviyesi ne olmalıdır? Seviyenin çok yükseltilmesi soyutlamanın çok aşırıya varması genel olarak C / C++ felsefesine uygun değildir. Seviyenin çok düşük olması da beklenen kolaylıkları azaltmaktadır. O halde C / C++ felsefesine en uygun olan seviye API programlama modelinden aşırı derecede uzaklaşılmadığı, kısmi soyutlamaların yapıldığı ancak önemli kolaylıkların sağlandığı bir seviyedir. Bu seviyeye en uygun sınıf kütüphanesi MFC’dir.