1. 1.
    0
    hayret lan açmamışlar. siftah benden haydi
    (bkz: object oriented programming)

    Nesne yönelimli programlama (NYP), (ingilizce: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 progrdıbı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.

    Tasarım Şablonları

    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 (ingilizce - 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ı

    Teklik(Singleton) Tasarım Şablonu

    Fabrika(Factory) Tasarım Şablonu
    Soyut Fabrika(Abstract Factory) Tasarım Şablonu
    inşaatcı (Builder) Tasarım Şablonu
    Prototip(Prototype) Tasarım Şablonu
    Yapısal Tasarım Şablonları

    Adaptör(Adapter) Tasarım Şablonu

    Vekil(Proxy) Tasarım Şablonu
    Köprü (Bridge) Tasarım Şablonu
    Cephe(Façade) Tasarım Şablonu
    Dekoratör (Decorator) Tasarım Şablonu
    Kompozit (Composite) Tasarım Şablonu
    Sinek giblet (Flyweight) Tasarım Şablonu
    Davranışsal Tasarım Şablonları

    Strateji (Strategy) Tasarım Şablonu

    Durum (State) Tasarım Şablonu
    Yineleyici (Iterator) Tasarım Şablonu
    Memento Tasarım Şablonu
    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)
    ···