İçeriğe geç

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

DİLEnglishDÜZEYSecond Cycle (Master's Degree)TÜRElective

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. 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. 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. 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. 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. 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

  1. HAFTA 1

    Yazılım Tasarım Kalıplarına Giriş

  2. HAFTA 2

    Nesne Yönelimli Tasarım İlkeleri

  3. HAFTA 3

    Tasarım Kalıplarınin Sınıflandırılması

  4. HAFTA 4

    Singleton ve Fabrika (Factory) Kalıpları

  5. HAFTA 5

    Soyut Fabrika (Abstract Factory) ve Kurucu (Builder) Kalıpları

  6. HAFTA 6

    Prototip (Prototype) Kalıbı

  7. HAFTA 7

    Adaptör (Adapter) ve Köprü (Bridge) Kalıpları

  8. HAFTA 8

    Bileşik (Composite) ve Dekoratör (Decorator) Kalıpları

  9. HAFTA 9

    Cephe (Facade) ve Vekil (Proxy) Kalıpları

  10. HAFTA 10

    Strateji (Strategy) ve Gözlemci (Observer) Kalıpları

  11. HAFTA 11

    Komut (Command) ve Durum (State) Kalıpları

  12. HAFTA 12

    Şablon Yöntemi (Template Method) ve Yineleyici (Iterator) Kalıpları

  13. HAFTA 13

    Sorumluluk Zinciri (Chain of Responsibility) ve Arabulucu (Mediator) Kalıpları

  14. 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