İçeriğe geç

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

DİLEnglishDÜZEYFirst Cycle (Bachelor's Degree)TÜRElective

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

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

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