Ders
COE4215966
TASARIM KALIPLARINA GİRİŞ
Bilgisayar Mühendisliği
- TEORİ
- 3
- UYGULAMA
- 0
- KREDİ
- 3
- AKTS
- 6
ÖN KOŞULLAR
ŞUNLARIN ÖN KOŞULU
Yok
OKUTULDUĞU PROGRAMLAR
AMAÇ
Bu ders, öğrencilere yazılım tasarım kalıplarının temel prensiplerini öğretmeyi amaçlamaktadır. Öğrenciler, yazılım mimarisi geliştirmek, kod tekrar-kullanımını artırmak ve sürdürülebilirliği sağlamak için yaygın tasarım desenlerini tanımlama, uygulama ve kullanma becerilerini kazanacaklardı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 sunmaktadır. Uygulamalı örnekler ve analizler aracılığıyla, öğrenciler yazılım tasarım kararlarını eleştirel bir şekilde değerlendirme ve nesne yönelimli programlamada en iyi uygulamaları hayata geçirme becerilerini geliştireceklerdir.
İÇ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
- 6
Develop Practical Problem-Solving Skills
Öğ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ı30%
- Genel Sınavın Başarıya Oranı70%
KAYNAKLAR
- Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1995; Head First Design Patterns, 2nd Edition, Eric Freeman, Elisabeth Robson, Kathy Sierra, and Bert Bates, 2021
ÖĞRETİM ELEMANLARI
- Assist.Prof. İbrahim KARLIAĞAKOORDİNATÖR
- Assist.Prof. İbrahim KARLIAĞA