msgbartop
Merhaba, web bloguma hoşgeldiniz... İsterseniz portfolio siteme buradan ulaşabilirsiniz.
msgbarbottom

05 Tem 10 Programlama Modelleri

Unstructured Programlama:
– Program alt alta yazılmış komutlardan oluşan tek bir dosya halindedir.
– Sınama (if) ve Atlama (goto) komutları ile değişik girdilerde/durumlarda da programın çalışması sağlanır.
– Sınama (if) ve Atlama (goto) komutları ile kod kolayca programcının anlama sınırlarının ötesinde bir karışıklığa ulaşır.
– Birkaç bin satır kodda takip etmek imkansızdır.


Structured Programlama:

– For-while-do döngü yapısı teoride bir if-goto ile aynı şey ise de, pratikte döngünün sınırlarının daha aşikar olmasını sağladığından okunurluk sağlar.

Procedural Programlama:
– Özellikle diziler pointer ile fonksiyona geçilmesini gerektirdiği için tehlikededir.
– Pointer ile erişimde sorunlar:
o C’de dizi boyutu saklanmaz, diziler tehlikededir.
o Pointer aritmetiği hataya açıktır.
o Pointer ile ulaşılan veri değiştirilebilir.
o Değiştirilmesi gereken verinin içeriği sınırlanamaz.
– Tek dosyada çok fazla fonksiyon kontrolü ve genel yapının anlaşılmasını engeller.
– Yazılan kodun başka projelerde de kullanılmasını zorlaştırır.
– Kodu başka programcıların kullanmasının tek yolu kabaca da olsa tüm kodu anmalarıdır ki, hiçbir ayrıma gidilmeden verilecek yüzlerce hatta binlerce fonksiyonu anlamak çok zordur.
– Tek dosyada çok fazla fonksiyon beraberinde bir çok global değişken, macro ve diğer fonksiyonların kullanıldığı alt fonksiyon getirir.
– Kodu başka bir yerde kullanmaya kalkınca bu yapılardan hangisinin hangi fonksiyon için gerekli olduğunu takip etmesi zordur.
– Kopyala-yapıştır yöntemi binlerce satırda işe yaramaz.
– Başka dosyadan getirilen kod ile yeni dosyadaki kodda aynı isimli değişken/fonksiyon varsa tüm kodu gözden geçirmek gerekir. Ki bu çok zor bir işlemdir.

Moduler Programlama:
– Program her biri kendi verisine sahip, belli bir iş için özelleşmiş ayrık parçalara ayrılır. Her parçanın kendi işleri için fonksiyonları vardır.
– Program, ana programın modülünün diğer modülleri çalıştırması şeklinde ayrık bir yapıdadır.
– Modüller arası haberleşme bu amaçla yazılmış fonksiyonlar yolu ile olur.
– Modüller veri ve fonksiyon karmaşasına bir çözüm getirir. Ancak bu struct ve fonksiyon çeşitliliği sorununu çözmez, arttırır.
– Ayrık veri yapıları, veri tipi güvenliğini bozar.
– Hazırlanırken ayrı yerlerde oldukları için modül yazımı kolaydır, ama kullanılırken tekrar bir araya geldikleri için kullanımları karışıklaşır.
– Veri ayrılığı, bilmediğiniz bir kodun verilerini koruma zorunluluğunu getirir.

Nesne Yönelimli Programlama:
Class (Sınıf):
– Nesneyi tanımlayan teorik yapıdır.
– Nesnenin yetenek ve davranışlarını tanımlar.
– Nesneler oluşturulurken kullanılır.
– Sadece bir tarif ya da plandan ibarettir.
– Kendisi çalıştırılamaz.
– Veri tutamaz.

Object(Nesne)/Instance (Örnek):
– Sınıfla tanımlanan yapının;
o İşleyen,
o Çalışan,
o Veri saklayıp,
o Fonksiyonlarını çağıran ürünüdür.
– Sadece sınıfın da tanımlanan özellikleri gösterir.
– Tarife göre yapılan kek, plana göre yapılan ev gibidir.

Baran BAYRAM
05.07.2010 – Ankara



Yorum bırak