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

Learn to Program: Crafting Quality Code
University of Toronto via Coursera
Introduction to Agile Software Development: Tools & Techniques
University of California, Berkeley via edX
Software Architecture & Design
Georgia Institute of Technology via Udacity
Software Design for Non-Designers
mooc.house via Independent
Técnicas Avançadas para Projeto de Software
Instituto Tecnológico de Aeronáutica via Coursera