Yazılım Tasarım Kalıpları – Software Design Patterns 2022

Bu dersin amacı, öğrencilere etkin, kaliteli, bakımı ve geliştirmesi kolay kompleks yazılımların mimari tasarımlarında, tasarım kalıplarının kullanımını öğretmektir. Tasarım kalıplarının belirli bir bağlamda karşımıza çıkan yazılım problemini en iyi çözümü için uzun yıllar boyunca edinilmiş tecrübelerle oluşturulmuş kalıplardır. Ders, yazılım mimarisinde tasarım kalıplarının kullanılmasının ardında yatan temelleri ve avantajları irdeler. Nesneye dayalı tasarım prensiplerinin tekrar edilmesi ve UML diyagramları dersin içerikleri arasındadır. C++/Python veya Javascript dilinde yapılması istenen programlama ödevleri ve proje öğrenciye tasarım şablonlarının kullanımında deneyim kazandıracaktır.

Tüm ders notları, ödev takibi ve proje gönderimi için 

http://edestek2.kocaeli.edu.tr/course/view.php?id=48

adresi kullanılacaktır. 

 

DEĞERLENDİRME ÖLÇÜTLERİ
Yarıyıl İçi ÇalışmalarıSayısıKatkı Payı
Proje/Sunum160
Ara Sınav140
Toplam100
Yıl İçinin Başarıya Oranı60
Dönem Sonu Sınavının Başarıya Oranı40
Toplam100

Ders İzlencesi

HaftaKonular
1Tasarım kalıplarına giriş 
2UML’e Giriş 
3UML gösterimleri ; Kullanım-durum diyagramları, sınıf diyagramları, İlişkiler  
4“Singleton”, “Factory” ve “Abstract Factory” Kalıbı (Oluşturucu) 
5Object Pool ve Builder Kalıbı (Oluşturucu) 
6“Iterator” Kalıbı (Davranışsal) 
7“Observer/Publish-Subscribe” Kalıbı (Davranışsal) 
8Vize 
9“Mediator”, “Chain of Responsibility” ve “Command” Kalıbı (Davranışsal) 
10“Visitor”, “State” Kalıbı (Davranışsal) 
11“Decorator”, “Adapter” ve “Facade” Kalıbı (Yapısal) 
12“Composite” Kalıbı (Yapısal) 
13“Dependency Injection” Kalıbı  
14MVC Kalıbı 
15Repository Kalıbı Repository Pattern 
16Final