20 Aralık 2014, Cumartesi - 21 Aralık 2014, Pazar
09:00 - 18:00
Ücretli
Yazılımdevi.Com ve CRT Yazılım İşbirliğiyle düzenlenen bu workshop'ta 16 Saatte Gerçek Hayat Uygulamalarıyla Kurumsal Çözümler için Advanced C# Öğreniyoruz.
Birçoğumuz C# ile neredeyse her gün kod yazıyoruz, birçok teknik kullanıyoruz ve C#' ın tüm nimetlerinden yararlanmaya çalışıyoruz. Peki bunları yazarken ne kadar nesneliz? Bu eğitim ile teknik olarak bildiğimiz kavramları gerçek hayat senaryolarıyla birleştiriyoruz. AOP (Aspect Oriented Programming ) ve OOP tekniklerini bir arada kullanarak yazılıma başka bir açıdan bakacaksınız.
Bu eğitim aynı zamanda bir çok kurum tarafından kullanılan kurumsal mimarimiz üzerinden örnekleri içermektedir.
İçerik:
1- Gerçek senaryolarla SOLID yazılım geliştirmenin önemi
2- Inheritance
Inheritance Nedir? Ne amaçlar kullanılır? Avantajları nelerdir?
Senaryo 1: Kurumsal bir mimaride hangi katmanda o katmana özel Inheritance nimetlerinden faydalanabiliriz?
Senaryo 2: Katmanlar arası bağımsızlıklarda inheritance rolü nedir?
3- Interfaces
Interface nedir? Avantajları nelerdir ? Hani amaçla kullanılır? Ne zaman interface kullanılır?
Senaryo 1: Dependency Injection tasarim deseni soyutlamayı nasıl ele alıyor?
Senaryo 2: Yazılımın en büyük kabusu olan değişimi soyutlama teknikleriyle nasıl kontrol altına alırız?
Senaryo 3: Çevik süreçler(Scrum) önemlidir, çevik kod yazma daha önemli değil midir?
4- Abstract Classes
Abstract sınıf nedir? Avantajları nelerdir ? Hani amaçla kullanılır? Ne zaman abstract sınıflar kullanılır?
Senaryo 1: Template Method tasarım deseni abstract kavramları nasıl ele alıyor?
Senaryo 2: İş katmanında “IF, SWITCH” blokları yazmadan mevzuat, kural vs. geçişlerini nasıl yaparım?
5- Attributes
Attribute Nedir? En amaçla kullanılır? Avantajları nelerdir?
Senaryo 1: Entity Framework'ün Data Annotations'larına benzer bir yapıyı nasıl kurabiliriz?
Senaryo 2: Postsharp framework'unde attribute kavramının önemi. Intermediate Language seviyesinde üretilen çözümler.
6- Reflection
Reflection nedir ? Ne amaçla kullanılır? Avantajları nelerdir?
Senaryo 1: Fluent Nhibernate frameworkü reflection konusunu nasıl ele alıyor?
7- Generics
Generic nesneler nedir? Ne amaçla kullanılır? Avantajları nelerdir?
Senaryo 1: Kurumsal yazılım mimarilerinde Generic nesnelerin önemi nedir? Generic ve implemente edilmiş bir Repository deseni yazalım. C#'in List nesnesini biz yazalım.
8- Delegates and Events
Delege ve event nedir? Ne amaçla kullanılır? Avantajları nelerdir?
Senaryo 1 : Predicate, Func, Action gibi hazır delegelere açıklık getirelim.
Lambda Expression'lar nedir? Single Line Query'ler nasıl yazılır?
Senaryo 2 : Filtreleme motoru yazalım.
Senaryo 3 : İş katmanında transaction işlemlerini delegeler ile çözelim. Hiç bir blokta Transaction kodu geçmesin.
Senaryo 4 : İş katmanında hata yakalama işlemlerini delegeler ile çözelim. En ufak bir Try-Catch bloğu olmasın.
Senaryo 5 : Kullanıcı arayüzü katmanında hata yakalama işlemlerini delegeler ile çözelim. En ufak bir Try-Catch bloğu olmasın.
9- Aspect Oriented Programming
AOP nedir?
Senaryo 1 : AOP ile fonksiyonel programlamayı, SOLID’in “S” prensibine %100 uyarak nasıl ayağı kaldırabiliriz?
Senaryo 2 : Loglama,Cache,Security,Exception Handling,Tranaction Management, Memory and Performance Management çözümlerinde AOP’nin yeri nedir?
Not: Bu modül fikir verme amaçlıdır. AOP tek başına ayrıca bir eğitimde ele alınacaktır.
10- Asynchronous C# 5.0
Asenkron programlama nedir?
Senaryo 1: Paralel iş akışı oluşturalım.
Son Senaryo : Yukarıdaki tüm konuların kurumsal bir mimari örneğinde gösterimi.
Eğitmen: Engin Demiroğ-Salih Demiroğ
Eğitim Yeri : Urban Station, Maslak
Katılımcılar Visual Studio 2012-2013 yüklü Laptop'larıyla katılabilirler.
(Eğitim yerinde program dahilinde yakın çevrede olmak koşuluyla değişiklik yapılabilir.)
İletişim: Eğitime katılmak için aşağıdaki iletişim adreslerinden birini kullanarak müsaitlik sorgulamanızı rica ederiz.
engindemirog[at]gmail.com
engindemirog[at]crt.com.tr