MVCSHARP Ailesi ile yazılım geliştirmeye dair makaleler

Design Patterns (Java)

Çok geçmişe gidersek 1968 li yıllardan önce yazılım dünyasında 'Yazılım Bunalımı' ilan edilmiştir.

Sebebi geliştirilen yazılımların karmaşıklığı ve yeniliklere ayak uyduramamasıdır.(not agile(çevik değil)).

Bu gibi durumlara çözüm olarak sunulan Nesne Yönelimli Programlama , geliştirilen yazılımları yordam tabanlı teknikten (procedure based programming) uzaklaşıp tamamen Nesne ' ye yönenilmesi sağlanmıştır.

Nesne'ye yönelmek ise tamamen gercek hayat gibi dusunup Kod blogları icerisindeki Nesne ' lerimizi buna göre tasarlamaktır.bu felsefik dusunce biçimini ilk uygulayan C++ dili ve sonrasında hızla ivme kazanan java dilidir.

Fakat kimse şunun aksini idda edemezki CSharp Yazılım Dili kesinlikle %100 Object Oriented desteklemektedir.

Geliştirme yapacağımız bir yazılım projesinde bu felsefe'yi uygulamak istersek temel olarak uymamız gereken 3 adet sürecimiz vardır
bunlar; 
    --Yazılım Tasarımı
    --Yazılım Geliştirme
    --Test Etme

Bunlara Ek olarak Nesne'ye Yönelme Felsefesinin de Temel İlkelerini Göz Önünde bulundurmak zorundayız
bunlar;
    --Abstraction(Soyutlama)
    --EnCapsulation(Kapsüllleme)
    --Inheritance(Kalıtım)
    --Çok Biçimlilik(Polymorphism)

Bu felsefeyi uygulayacağımız büyük projelerde karşılaşabileceğimiz tasarımsal sıkıntılar için(yapıların birbirine benzemesi vb.) Design Pattern ' ler geliştirilmiştir.

Bu Hazır Yazılım Tasarım Kalıpları sabittir,
Kullanımları bilinir ve standart kullanımları dışında çok fazla değişiklik yapmamak gerekir yani tabi caizse bir sonraki konuda ele alacağımız'Singleton Design Pattern' Uygularken Bu Kalıba Uygun Kullanıp çok fazla atraksiyon yapmamamız gerekir yani kalıp ne ise odur,sorunumuzu aşmamız bizim için daha önemli bir konudur.
    
Biz Gang Of Four(Dörtlü Çete(GoF)) ' un tanımladığı 23 adet design pattern ' leri araştırmış olacağız bu serimizde.

GoF ' a göre Design Pattern ler 3 Sınıf a Ayrılır
Bunlar;
    --Creational Patterns(Oluşturucu)
    --Structural Patterns(Yapısal)
    --Behavioral Patterns(Davranışsal)

    Bir Sonraki Yazımızda Creational Pattern Grubuna Ait Olan ve Kavraması En Kolay Olan 'singleton' yazılım tasarım desenini araştırıyor olacağız 
    
    
    
 

Facebook Üzerinden Yorumlar