What you'll learn:
- Tasarım Kalıpları ya da Design Patterns
- Yazılım tasarımı üzerine soyut düşünce ve modelleme yetkinlikleri.
- Yazılımın karmaşıklık ve değişim olarak betimlenen doğası
- OOP pratikleri
Bu kursun amacı, katılımcılara, GoF (Gang of Four ya da DörtlüÇete) ve yaygın diğer tasarım kalıpları üzerinden yazılım tasarımı disiplini kazandırmaktır. Dolayısıyla kursta şu yetkinliklerin kazandırılması amaçlanmaktadır:
Yazılım tasarımında soyut düşünme/modelleme,
Yazalım tasarımın temel problemleri, kavramları ve teknikleri,
Sık rastlanan yazılım problemleri üzerine düşünme,
Kalıpların iş alanlarındaki problemlere uygulanması,
Tüm bunlar temelde GoF’un ortaya koyduğu dil, yaklaşım ve kalıplar üzerinden yapılacaktır.
Bu kursta şu konular ele alınacaktır:
Yazılım karmaşıklığı ve değişim (software complexity and change)
Birliktelik ve bağımlılık (cohesion & oupling) ve anti-patternları
SOLID, GRASP, Demeter prensipleri
Nesne rolleri
GoF’un 23 kalıbı: Yaratımsal, Yapısal ve Davranışsal kalıplar
Null Object vb.diğer kalıplar
Bu kurs herhangi bir programlama dilinden bağımsızdır. Kursun örnekleri temelede Java ve C#’da verilmekle beraber, kalıpların C++, Python vb. dillerindeki gerçekleştirmeleri de olabildiğince sağlanacaktır. Ayrıca katılımcılar kodlarını istedikleri nesne-merkezli dilde ve ortamda yazabilirler.
Kod örnekleri hem Github'da hem de Eclipse, VisualStudio vb. projeleri olarak paylaşılacaktır. Bunun için 1. bölümün resourcelarına bakın.
Bu eğitim çok detaylıdır, konuları bildiğinizi düşünseniz bile, atlamadan ve sindirerek ilerleyin. Tüm örneklerini çalıştırın, oynayın, bozun, her şeyin nedenini anlayın ve tekrar çalışır hale getirin. Kendi örneklerinizi yazın, benzer teknikleri uygulayın, ödevleri muhakkak yapın.
Bu eğitim online canlı derslerle yapıldığı için sıklıkla katılımcı sorularına cevap verdiğimi göreceksiniz. Umarım bu durum eğitimden elde edeceğiniz faydayı arttırır. Siz de ihtiyaç duyduğunuzda, eğitimle ilgili, yansılarda mesela, herhangi bir yanlışlık, düzeltme ihtiyacı vs. olduğunu düşündüğünüzde bana ulaşabilirsiniz.