YoVDO

Design Patterns

Offered By: Udemy

Tags

Software Design Courses Python Courses Java Courses C++ Courses C# Courses Object-oriented programming Courses Design Patterns Courses

Course Description

Overview

Tasarım Kalıpları

What you'll learn:
  • Tasarım Kalıpları ya da Design Patterns
  • Yazılım tasarımı üzerine soyut düşünce ve modelleme yetkinlikleri.
  • Yazılımın karmaşıklık ve değişim olarak betimlenen doğası
  • OOP pratikleri

Bu kursun amacı, katılımcılara, GoF (Gang of Four ya da DörtlüÇete) ve yaygın diğer tasarım kalıpları üzerinden yazılım tasarımı disiplini kazandırmaktır. Dolayısıyla kursta şu yetkinliklerin kazandırılması amaçlanmaktadır:

  • Yazılım tasarımında soyut düşünme/modelleme,

  • Yazalım tasarımın temel problemleri, kavramları ve teknikleri,

  • Sık rastlanan yazılım problemleri üzerine düşünme,

  • Kalıpların iş alanlarındaki problemlere uygulanması,

Tüm bunlar temelde GoF’un ortaya koyduğu dil, yaklaşım ve kalıplar üzerinden yapılacaktır.

Bu kursta şu konular ele alınacaktır:

  • Yazılım karmaşıklığı ve değişim (software complexity and change)

    • Birliktelik ve bağımlılık (cohesion & oupling) ve anti-patternları

    • SOLID, GRASP, Demeter prensipleri

    • Nesne rolleri

  • GoF’un 23 kalıbı: Yaratımsal, Yapısal ve Davranışsal kalıplar

  • Null Object vb.diğer kalıplar

Bu kurs herhangi bir programlama dilinden bağımsızdır. Kursun örnekleri temelede Java ve C#’da verilmekle beraber, kalıpların C++, Python vb. dillerindeki gerçekleştirmeleri de olabildiğince sağlanacaktır. Ayrıca katılımcılar kodlarını istedikleri nesne-merkezli dilde ve ortamda yazabilirler.

Kod örnekleri hem Github'da hem de Eclipse, VisualStudio vb. projeleri olarak paylaşılacaktır. Bunun için 1. bölümün resourcelarına bakın.

Bu eğitim çok detaylıdır, konuları bildiğinizi düşünseniz bile, atlamadan ve sindirerek ilerleyin. Tüm örneklerini çalıştırın, oynayın, bozun, her şeyin nedenini anlayın ve tekrar çalışır hale getirin. Kendi örneklerinizi yazın, benzer teknikleri uygulayın, ödevleri muhakkak yapın.

Bu eğitim online canlı derslerle yapıldığı için sıklıkla katılımcı sorularına cevap verdiğimi göreceksiniz. Umarım bu durum eğitimden elde edeceğiniz faydayı arttırır. Siz de ihtiyaç duyduğunuzda, eğitimle ilgili, yansılarda mesela, herhangi bir yanlışlık, düzeltme ihtiyacı vs. olduğunu düşündüğünüzde bana ulaşabilirsiniz.


Taught by

Akin Kaldiroglu

Related Courses

Computing: Art, Magic, Science - Part II
ETH Zurich via edX
Web Application Development: Basic Concepts
University of New Mexico via Coursera
Web Application Development: The Presentation Tier
University of New Mexico via Coursera
Técnicas Avançadas para Projeto de Software
Instituto Tecnológico de Aeronáutica via Coursera
Programmation objet immersive en Pharo
Inria (French Institute for Research in Computer Science and Automation) via France Université Numerique