Design patterns kısaca yazılım geliştiricilerin ortak deneyimlerini ifade eder. Daha önce yaşanan problemleri ve buldukları etkin çözümleri yazılımcılar Pattern yapısıyla dokümante etmişlerdir. Alınan bu dersleri kullanarak OOP prensiplerine uygun Highly Cohesive, Loosely coupled sistemler oluşturularak projelerin sağlam bir tasarıma sahip olması sağlanır. Sağlam tasarımlar geliştirme maliyetlerinin aynı düzeyde tutulmasını sağlar. Design Patterns in bilinmesi ekip içinde tasarımda kullanılacak ortak bir dil oluşmasına da yardımcı olur. Bir Design Pattern' in neden olmadan uygulanması tasarımı gereksizçe karmaşık hale getirir. Bu nedenle eğitimde de işlenecek olan Refactoring yani sürekli tasarım iyileştirmesi pratiği ile birlikte kullanılması yararlar sağlayacaktır.
Bu eğitimde öncelikle Object Oriented Tasarımı kaliteli kılan prensipler incelenir. Daha sonra Design patterns teker teker detaylıca işlenir ve kod örnekleri gösterilir. Sonrasında kötü yazılmış kod örneklerinden yola çıkılarak Refactoring uygulanır ve Design Patterns kullanımı ile bu kötü kod örnekleri ideal çözümlere ulaştırılır.
Eğitimcimiz Cenk Çivici 2001 yılından beri Amerika'da ve Ingiltere'de Fortune 500 şirketler için yapılan projelerde Agile pratiklerin kullanımı ile ilgili olarak danışmanlık yapmaktadır. Bu pratiklerin kullanımı konusunda lider Thoughtworks firmasında Senior Consultant olarak görev almıştır. Halen Londra ' da danışmanlık faaliyetlerine devam etmektedir.Türkiye 'de Prime teknoloji bünyesinde Agile süreçler ve pratikleri konusunda eğitimler vererek yurtdışında kazandığı deneyimleri Türk şirketleri ile paylaşmayı amaçlamaktadır.
Eğitim süresi 2 gündür. Eğitimin ikinci günü farklı kodlama alıştırmaları ile Design Patterns pratiği katılımcılara kazandırılır