Nesne Yönelimli Programlama

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

Nesne yönelimli programlama (NYP), (İngilizce:Object Oriented Programming) özetle bir bilgisayar programlama yaklaşımıdır. Günümüzde pek çok çağdaş programlama dili tarafından desteklenmektedir.

NYP'dan önceki uygulamaların bakım maliyeti ve karmaşıklık ilişkisi

1960'lı yılların sonuna doğru ortaya çıkan bu yaklaşım, o dönemin yazılım dünyasında beliren bir bunalımın sonucudur. Yazılımların karmaşıklığı ve boyutları sürekli artıyor, ancak belli bir nitelik düzeyi korumak için gereken bakımın maliyeti zaman ve çaba olarak daha da hızlı artıyordu. NYP'yi bu soruna karşı bir çözüm haline getiren başlıca özelliği, yazılımda birimselliği (modularity) benimsemesidir. NYP ayrıca, bilgi gizleme (information hiding), veri soyutlama (data abstraction), çok biçimlilik (polymorphism) ve kalıtım (inheritance) gibi yazılımın bakımını ve aynı yazılım üzerinde birden fazla kişinin çalışmasını kolaylaştıran kavramları da yazılım literatürüne kazandırmıştır. Sağladığı bu avantajlardan dolayı, NYP günümüzde geniş çaplı yazılım projelerinde yaygın olarak kullanılmaktadır.

NYP'nın altında yatan birimselliğin ana fikri, her bilgisayar programının (izlence), etkileşim içerisinde olan birimler veya nesneler kümesinden oluştuğu varsayımıdır. Bu nesnelerin her biri, kendi içerisinde veri işleyebilir, ve diğer nesneler ile çift yönlü veri alışverişinde bulunabilir. Hâlbuki NYP'den önce var olan tek yaklaşımda (Yordamsal programlama), programlar sadece bir komut dizisi veya birer işlev (fonksiyon) kümesi olarak görülmektediler.

Nesne yönelimli programlama dilleri yukarıda adı geçen tüm öğelere sahip olurken, Visual Basic gibi nesne tabanlı programlama dilleri birkaçından yoksundur.

Tasarım Şablonları[değiştir | kaynağı değiştir]

Nesneye yönelik tasarım esnasında bazı sorunlara sıkça rastlanır. Bu sık rastlanan sorunlara karşı yaygın olarak kabul edilmiş çözümler de mevcuttur. Bu çözümlere tasarım Şablonları denir (İngilizce - Design patterns). Bu alanda en çok tanınmış kaynak, Erich Gamma, Richard Helm, Ralph Johnson ve John Vlissides tarafından yazılmış Design Patterns: Elements of Reusable Object-Oriented Software adlı, en sık kullanılan 23 tasarım şablonu içeren kitaptır. Bu tasarım şablonları Oluşturucu Tasarım Şablonları, Yapısal Tasarım Şablonları, Davranışsal Tasarım Şablonları olmak üzere üç kategoriye ayrılır.

Oluşturucu Tasarım Şablonları[değiştir | kaynağı değiştir]

Teklik (Singleton) Tasarım Şablonu
Fabrika (Factory) Tasarım Şablonu
Soyut Fabrika (Abstract Factory) Tasarım Şablonu
İnşaatçı (Builder) Tasarım Şablonu
Prototip (Prototype) Tasarım Şablonu

Yapısal Tasarım Şablonları[değiştir | kaynağı değiştir]

Adaptör (Adapter) Tasarım Şablonu
Vekil (Proxy) Tasarım Şablonu
Köprü (Bridge) Tasarım Şablonu
Cephe (Facade) Tasarım Şablonu
Dekoratör (Decorator) Tasarım Şablonu
Kompozit (Composite) Tasarım Şablonu
Sinek Siklet (Flyweight) Tasarım Şablonu

Davranışsal Tasarım Şablonları[değiştir | kaynağı değiştir]

Strateji (Strategy) Tasarım Şablonu
Durum (State) Tasarım Şablonu
Yineleyici (Iterator) Tasarım Şablonu
Memento Tasarım Şablonu
Gözlemci (Observer) Tasarım Şablonu
Sorumluluk Zinciri (Chain of Responsibility) Tasarım Şablonu
Ziyaretçi (Visitor) Tasarım Şablonu
Şablon (Template) Tasarım Şablonu
Komut (Command) Tasarım Şablonu
Aracı (Mediator Tasarım Şablonu)

Tarihçe[değiştir | kaynağı değiştir]

Ayrıca bakınız[değiştir | kaynağı değiştir]

Dış bağlantılar[değiştir | kaynağı değiştir]