Design Patterns

[Design Patterns]
Tasarım Şablonları

Bir uygulama geliştirme sürecinde hazırlanacak olan yazılımın mimarisi ile ilgili olarak zaman kaybetmeden kod yazmaya girişmek, nihai olarak başlangıçta kullanılmayan bu zamanın kat kat fazlasını kod geliştirme süreci içinde harcamaya neden olmaktadır. Üstelik, aksayan işler, müşteri memnuniyetsizliği ve artan maliyetler de bu sürece eklenmektedir. Daha az zaman harcayarak daha verimli kod geliştirmenin anahtarı Amerika'yı tekrar tekrar keşfetmemekte yatar.

Örneklendirecek olursak; satranç oyununda taşların hareketlerini öğrenmek zor değildir. Ama tüm taşların hareketlerini öğrenmek bizi iyi bir satranç oyuncusu yapmaz. Bu açıdan bakıldığında, çeşitli eğitim süreçlerinde programlama araçlarının sözdizim ve anlamsal yapılarını öğrenebiliriz. Ama bu bizi iyi bir programcı yapmaya yetmez. İyi bir programcı olabilmek için, öğrendiğimiz konuların nasıl kullanabileceğini de tecrübe etmek gerekmektedir. İşte bu noktada zamana ihtiyaç duyulur. Çünkü yeterli belli bir deneyim sürecini yaşamadan araçları ustalıkla kullanmaya başlayamayız.

Konuya hakimiyeti, hızlandırmak için dünyada çeşitli uygulamalar yapılmaktadır. Tasarım şablonları (Design Patterns) bu uygulamalardan biridir. Tasarım kalıpları belli konularda yaşanmış problemlerin en iyi çözümlerinden oluşmakta, bu şablonları öğrenen biri, şablonların çıkmasına neden olan benzer sorunlarla karşılaştığında öğrendiği şablonları kullanabilmektedir. Böylece programcı problemleri çözmek için uğraşmadan, hazır deneyimleri kullanmış olur. Bunların dışında, uygulama mimarilerini öğrenmek ve iyi yazılmış kodları okumak da konuya hakimiyeti arttırmak için yapılabilecekler arasında sayılabilir.

Süre 36 saat
Gün ve Saatler Salı, Çarşamba, Perşembe [19:00 – 22:10]
Toplam Süre 3 hafta
Başlangıç Tarihi 20 Temmuz 2010, SALI
Amaç Tasarım şablonları, sıkça karşılaşılan yazılım problemlerinin daha önce tecrübe edilmiş çözüm yöntemlerini uygulamaya koymaya yarar. Şablonlar, yıllardır kullanıldıkları için, problemlerin en basit ve en efektif şekilde çözümlerini içermektedir. "Design pattern" kavramı bir standart değildir. Herhangi bir yazılım diline de özgü değildir. Bir yazılım problemini nasıl çözeceğimizi gösteren yöntemler topluluğudur. Kursun amacı, nesne tabanlı yazılımlarda en sık kullanılan tasarım şablonlarını örnek uygulamalarla birlikte öğretmektir.
Kimler Katılabilir Nesne temelli programlama dillerinden bir tanesine (C#, C++, Java vb.) hakim olmak
Fiyat Fiyat için lütfen bizi arayınız.

* Kurs sonunda Microsoft onaylı kurs katılım belgesi verilmektedir


İÇERİK

Nesne Temelli Programlama (OOP) Kavramları
Kalıtım(Inheritance)
Çok Biçimlilik (Polimorfizm)
Kompozisyon (Compositon)
is-a ve has-a ikişkileri
interface ve abstract
Tasarım Prensipleri
Single Responsibility Principle
Open Closed Principle
Liskov Substitution Principle
Dependency Inversion Principle
Interface Segregation Principle
Reuse Release Equivalency Principle
Common Closure Principle
Common Reuse Principle
Acyclic Dependencies Principle
Stable Dependencies Principle
Stable Abstractions Principle
C# ile Tasarım Şablonları (Design Patterns)
Oluşturucu (Creational) Tasarım Şablonları
Factory Method 
Abstract Factor
Singleton
Builder
Prototype
Yapısal (Structural) Tasarım Şablonları
Adapter
Bridge
Facade
Composite
Decorator
Proxy      
Flyweight
Davranışsal (Behavioral) Tasarım Şablonları
Command
Iterator
Memento
State
Observer 
Strategy
Chain of responsibility
Interpreter
Mediator
Visitor
Template method