Merhabalar ben program geliştirmede (özellikle C/C++) Framework ve Kütüphane kavramlarımını birbirinden ayırmaya çalışıyorum. Framework bir kütüphaneler topluluğu diyebilirmiyiz acaba?

soruldu: 30 Nis '13, 04:13

beterman's gravatar image

beterman
285131722
cevap kabul oranı: 0%

biraz daha somut örnekler verirsek hem benim hemde ileride arama motorlarından buraya gelecek arkadaşların konuyu anlamaları dahada kolaylaşacaktır diye düşünüyorum. C/C++ dilini öğrenmeye çalıştığım için oradan örnek vereceğim. Kod olarak sayılar üzerinde işlem yapacak bir program yazmak istiyorum. Burada sayıların belirtilmesi, kullanıcıdan sayıların istenmesi ve ekranda gösterilmesi gibi işlemler benim tarafından yazılmış kodlar oluyor. Kullanıcın girdiği bir sayının Sinus değerini hesaplayan bir kod kendimde yazabilirim. Fakat daha önceden birileri bunu zaten yapmış ve bir kütüphane dosyası olarak (math.h) C++ standardı içine eklenmesini sağlamış. Bu nedenle yapmam gereken Sinus hesaplayan bir kodu baştan kendim yazmak yerine sadece o kütüphaneyi kodlarıma eklemem gerekiyor. Framework e örnek olarak ise Qt yada Ultimate Frameworklarını örnek verebilirim sanırım. Örneğin XML dosyalarını Parsen etmek gibi bir çok işlemi bizim yerimize getirecek Kütüphaneleri barındırıyor. Ayrıca şunu diyebilirmiyiz? Hem Framework hemde Kütüphaneler olmadan istediğimiz bir programı yazabiliriz. Her ikiside sadece önceden programcıların bolbol yapmak zorunda oldukları işlemleri (Sinus hesaplama yada XML dosyası Parsen etmek gibi...) en kısa ve en sağlam şekilde standartlandırılmış halleridir. Tembel Programcılar için bir nevi hazır kodlardır diyebilirmiyiz?

(30 Nis '13, 05:53) beterman beterman's gravatar image

Kütüphane ve Framework arasındaki farkı anlatmak için genelde "Hollywood prensibi" kullanılıyor.

Hollywood prensibi

Sen bizi arama, biz seni ararız.

Bu prensibi programlamaya uygularsak delegate, interface ya da virtual metodlar, lambda fonksiyonlar, signal/slot kütüphaneleri, fonksiyon işaretçileri ve benzeri yöntemler kullanarak yazdığınız kodu çağırarak çalışıyorsa, yani siz çağırılacak yerleri doldurmak yoluyla program yazıyorsanız kütüphane "Framework" seviyesindedir. (Örn. ASP.NET, Qt)

Kütüphaneyi sadece projenize ekleyip fonksiyonlarını çalıştırıyorsanız "Kütüphane", (Örn Zlib, Apache POI, SDL) fonksiyon ya da metodları bağlayıp çağırılmalarını sağlıyorsanız "Framework" ya da "Altyapı" diyebiliriz.

permanent link

cevaplandı: 01 May '13, 06:34

nurettin's gravatar image

nurettin
2.2k2441
cevap kabul oranı: 14%

değiştirildi: 01 May '13, 06:42

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×45
×23
×7

Soruldu: 30 Nis '13, 04:13

Görüntüleme: 1,539 kez

Son güncelleme: 01 May '13, 06:42

powered by BitNami OSQA