TASARIM ŞABLONLARI EĞİTİMİ
Tasarım şablonları, nesne yönelimli tasarım dünyasındaki ortak ve kabul edilmiş deneyimleri ifade eder. Yazılım dünyasında karşılaşılan problemler için test edilmiş ve onaylanmış çözüm yolları sunar.
Şablonları bilen insanlar kendi aralarında daha kolay iletişim kurabilirler. Kodlarda uygulanacak Refactoring ile tasarım şablonlarına bir adım daha yaklaşılır. Aynı zamanda, şablonlar nesne yönelimli programlamayı öğrenmek için güzel bir araçtır.
Amaç
Eğitimin amacı, katılımcılara tasarım şablonlarını anlatarak daha başarılı bir nesne yönelimli tasarımın nasıl gerçekleştirilebileceğini öğretmektir. Bu eğitimin ardından katılımcılar,
Karmaşıklığı en aza indirgeyerek tasarıma nasıl yeni fonksiyonalite ekleyebileceğini,
Kod kalitesini artırmak için tasarım şablonlarından nasıl faydalanılacağını,
23 adet GoF tasarım şablonunun neler olduğunu ve bunlardan 13 adedinin detaylı açıklamalarını
öğreneceklerdir.
İçerik
Kısaca UML
Sınıf Diyagramı
Nesne Yönelimli Prensipler
Temel Prensipler: Polymorphism, Encapsulation, Composition
High Cohesion / Loose Coupling
Üç Önemli Nesne Yönelimli Geliştirme Prensibi
Değişen kesimleri sarmala (Encapsulate what varies)
Kalıtım yerine kompozisyon kullan (Favor composition over inheritance)
Gerçekleştirim için değil, arayüz için programla (Program to interfaces, not implementations)
Tasarım Şablonlarını Anlamak ve Uygulamak
Tasarım Şablonu Nedir?
Tasarım Şablonlarının Tarihçesi
Tasarım Şablonu Neden Kullanılır?
Tasarım Şablonu Yapısı
Anti-Pattern
Tasarım Şablonları
Observer
Decorator
Factory Method
Abstract Factory
Singleton
Command
Adapter
Façade
Template Method
Iterator
Composite
State
Strategy
Katılımcıdan Beklenenler
Eğitimde yer alan kod örnekleri Java programlama dilindedir. Bu yüzden, katılımcının temel düzeyde Java biliyor olması beklenmektedir. Java kod örnekleri, anlatımı kolaylaştırmak için basit tutulmuştur.
Eğitim boyunca şablonları açıklamak için UML diyagramlarından faydalanılacaktır. Katılımcının temel UML bilgisine sahip olması, verilen örneklerin anlaşılmasını kolaylaştıracaktır.
Ahmet Dikici`nin özgeçmişi:
2002 yılında ODTÜ Bilgisayar Mühendisliği`nden mezun olmuştur. 2005 yılında aynı bölümde Yazılım Mühendisliği alanında yüksek lisans çalışmasını tamamlamıştır. Halen ODTÜ Enformatik Enstitüsü Bilişim Sistemleri Bölümü`nde doktora çalışmalarına devam etmektedir.
2002 yılında Havelsan`da Yazılım Mühendisi olarak çalışmaya başlamıştır. 2003 yılından bu yana TÜBİTAK-BİLGEM-UEKAE/Yazılım ve Veri Mühendisliği Bölümü`nde Yazılım Geliştirme ve Destek Mühendisi, Proje Takım Lideri ve Proje Yöneticisi Yardımcısı olarak görev almıştır. Aynı bölümde Proje Yöneticisi olarak çalışmaya devam etmektedir.Gereksinim mühendisliği, nesne yönelimli analiz ve tasarım ve tasarım şablonları konularında teorik ve pratik bilgi birikimine sahiptir. Yazılım süreç iyileştirme ve yazılım ölçümü, araştırma alanları arasında yer almaktadır.
SCJP, SCWCD ve PMP sertifikalarına sahiptir.