Ders
COEY1215699
YAZILIM TASARIM KALIPLARI
- TEORİ
- 3
- UYGULAMA
- 0
- KREDİ
- 3
- AKTS
- 8
ÖN KOŞULLAR
Yok
ŞUNLARIN ÖN KOŞULU
Yok
OKUTULDUĞU PROGRAMLAR
AMAÇ
Bu ders, öğrencilere yazılım tasarım kalıplarının temel prensiplerini öğretmek için tasarlanmıştır. Katılımcılar, yazılım mimarisini güçlendirmek, kod kullanılabilirliğini artırmak ve sürdürülebilirliği sağlamak amacıyla yaygın tasarım kalıplarını öğrenme, uygulama ve kullanma becerisi kazanacaktır. Yaratımsal, yapısal ve davranışsal tasarım desenlerini kapsayan bu ders, ölçeklenebilir ve verimli yazılım çözümleri geliştirme konusunda uygulamalı deneyim sunar. Pratik alıştırmalar aracılığıyla öğrenciler, yazılım tasarım kararlarını değerlendirme becerilerini geliştirecektir.
İÇERİK
Bu ders; Yazılım Tasarım Kalıplarına Giriş,Nesne Yönelimli Tasarım İlkeleri,Tasarım Kalıplarınin Sınıflandırılması,Singleton ve Fabrika (Factory) Kalıpları,Soyut Fabrika (Abstract Factory) ve Kurucu (Builder) Kalıpları,Prototip (Prototype) Kalıbı,Adaptör (Adapter) ve Köprü (Bridge) Kalıpları,Bileşik (Composite) ve Dekoratör (Decorator) Kalıpları,Cephe (Facade) ve Vekil (Proxy) Kalıpları,Strateji (Strategy) ve Gözlemci (Observer) Kalıpları,Komut (Command) ve Durum (State) Kalıpları,Şablon Yöntemi (Template Method) ve Yineleyici (Iterator) Kalıpları,Sorumluluk Zinciri (Chain of Responsibility) ve Arabulucu (Mediator) Kalıpları,Memento ve Ziyaretçi (Visitor) Kalıpları; konularını içermektedir.
ÖĞRENME KAZANIMLARI
TR GÜNCELLENMEDİ- 1
Understand Software Design Patterns
Öğretim yöntemi: Tartışma Yöntemi, Beyin Fırtınası Tekniği, Deneyimle Öğrenme Modeli · Değerlendirme: Klasik Yazılı Sınav, Ödev, Proje Görevi
- 2
Identify Appropriate Design Patterns
Öğretim yöntemi: Tartışma Yöntemi, Beyin Fırtınası Tekniği, Deneyimle Öğrenme Modeli · Değerlendirme: Klasik Yazılı Sınav, Ödev, Proje Görevi
- 3
Implement Design Patterns
Öğretim yöntemi: Tartışma Yöntemi, Beyin Fırtınası Tekniği, Deneyimle Öğrenme Modeli · Değerlendirme: Klasik Yazılı Sınav, Ödev, Proje Görevi
- 4
Enhance Software Maintainability and Reusability
Öğretim yöntemi: Tartışma Yöntemi, Beyin Fırtınası Tekniği, Deneyimle Öğrenme Modeli · Değerlendirme: Klasik Yazılı Sınav, Ödev, Proje Görevi
- 5
Evaluate Software Design Decisions
Öğretim yöntemi: Tartışma Yöntemi, Beyin Fırtınası Tekniği, Deneyimle Öğrenme Modeli · Değerlendirme: Klasik Yazılı Sınav, Ödev, Proje Görevi
HAFTALIK PLAN
- HAFTA 1
Yazılım Tasarım Kalıplarına Giriş
- HAFTA 2
Nesne Yönelimli Tasarım İlkeleri
- HAFTA 3
Tasarım Kalıplarınin Sınıflandırılması
- HAFTA 4
Singleton ve Fabrika (Factory) Kalıpları
- HAFTA 5
Soyut Fabrika (Abstract Factory) ve Kurucu (Builder) Kalıpları
- HAFTA 6
Prototip (Prototype) Kalıbı
- HAFTA 7
Adaptör (Adapter) ve Köprü (Bridge) Kalıpları
- HAFTA 8
Bileşik (Composite) ve Dekoratör (Decorator) Kalıpları
- HAFTA 9
Cephe (Facade) ve Vekil (Proxy) Kalıpları
- HAFTA 10
Strateji (Strategy) ve Gözlemci (Observer) Kalıpları
- HAFTA 11
Komut (Command) ve Durum (State) Kalıpları
- HAFTA 12
Şablon Yöntemi (Template Method) ve Yineleyici (Iterator) Kalıpları
- HAFTA 13
Sorumluluk Zinciri (Chain of Responsibility) ve Arabulucu (Mediator) Kalıpları
- HAFTA 14
Memento ve Ziyaretçi (Visitor) Kalıpları
DEĞERLENDİRME
- Ara Sınavın Başarıya Oranı50%
- Genel Sınavın Başarıya Oranı50%
KAYNAKLAR
- Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1995
ÖĞRETİM ELEMANLARI
- Assist.Prof. İbrahim KARLIAĞAKOORDİNATÖR
- Assist.Prof. İbrahim KARLIAĞA