Turkey JUG (Java User Group) Leader,
Turkey JBUG (JBoss User Group) Leader,
Computer Engineer, Senior Java Architect,
Software (Author, Speaker, Trainer)
Mimar Aslan
Gereksinim analizi çalışmaları yazılım projelerinin başarıya ulaşabilmesi için yapılması gereken en önemli iştir. Doğru şekilde ihtiyaçları ortaya konmuş projeler ancak başarılı olabilirler.Gereksinim analiz çalışmaları iki aşamadan meydana gelir; Gereksinimlerin ortaya çıkarılması
Gereksinimlerin öncelik durumuna göre analiz edilmesi. Bu sunumda iyi bir proje için gerekli olan gereksinim analiz dokümanı hazırlama yöntemi verilmiştir.
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiAli İhsan Çalışkan
Ìý
ASP.NET MVC 2 Mimarisi üzerinde Uygulama Geliştirme ve ASP.NET'in sunduğu Uygulama Yönetim ve Güvenlik altyapısı hakkında yeni başlayanlara özel giriş niteliğinde anlatım.
Türkiye'nin en büyük e-ticaret platformu Hepsiburada'nın gerçekleştirmiş olduğu Micro Frontends dönüşümü ile ilgili Hepsitech etkinliğinde yapılan teknik sunum.
Gereksinim analizi çalışmaları yazılım projelerinin başarıya ulaşabilmesi için yapılması gereken en önemli iştir. Doğru şekilde ihtiyaçları ortaya konmuş projeler ancak başarılı olabilirler.Gereksinim analiz çalışmaları iki aşamadan meydana gelir; Gereksinimlerin ortaya çıkarılması
Gereksinimlerin öncelik durumuna göre analiz edilmesi. Bu sunumda iyi bir proje için gerekli olan gereksinim analiz dokümanı hazırlama yöntemi verilmiştir.
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiAli İhsan Çalışkan
Ìý
ASP.NET MVC 2 Mimarisi üzerinde Uygulama Geliştirme ve ASP.NET'in sunduğu Uygulama Yönetim ve Güvenlik altyapısı hakkında yeni başlayanlara özel giriş niteliğinde anlatım.
Türkiye'nin en büyük e-ticaret platformu Hepsiburada'nın gerçekleştirmiş olduğu Micro Frontends dönüşümü ile ilgili Hepsitech etkinliğinde yapılan teknik sunum.
2. Temel Prensipler – Çıkış Sebebi
 SoC - Separation of Concerns(İlgilerin Ayrışması)
 Modüller, aynı amaca hizmet eden kodlar
ï‚š Crosscutting Concerns(Enine Kesen Ä°lgiler)
 Loglama,güvenlik,resources,caching,transaction
management…
Not : İlgi = Geliştirilen uygulamayı kullanan herkesin ilgilendiği veya önem verdiği herhangi bir
şey olarak tanımlanabilir. (Müşteri talebi,uygulamanın özelliği)
3. Avantajları
 Enine kesen ilgilerin ayrıştırılması ile kod karmasını önler, yeniden kullanım sorununu çözmeyi
sağlar, bu sayede birimler sadece kendi amacına yönelik kodları içerir
 Okunabilirliği, bakımı kolaylaştırır
ï‚š GeniÅŸletilebilir uygulama mimarisi sunar
4. Dezavantajları
 Süreç akışı dışında kalan aspect’ler bakım aşamasında karmaşaya sebep
olabilir(obliviousness(dikkatsizlik, bihaber olma, ilgisizlik))
5. Nasıl Çalışır
 AOP uygulayan bir program aspect tanımlarına göre nesnelerin, metodların ve aspectlerin
otomatik olarak birleştirilmesi ile yani ilişkilendirilmesi/dokunması(weaving) ile sağlanır.
 Buradan anlaşıldığı üzere bir tanım söz konusudur; Bu aspect tanımıdır, bu tanım ile aspectin
nereyi dinleyeceği belirtilir ve bununla birlikte aspectin tanımdaki advice gerçekleştiğinde çalışak
kodu da barındırırlar.
 Aspectlere bakarak kodun nerelerde kullanıldığını kolayca bilebiliriz
 Aspectleri kolay ve hızlı şekilde anlayabiliriz
 Diğer aspectlerden bağımsız bir şekilde değiştirebiliriz
9. Spring AOP
 Spring AOP AspectJ çatısından bağımsız Java dilinde implemente edilmiş Proxy tabanlı bir
AOP çatısıdır
 Spring AOP AspectJ çatışında yer alan @Aspect anotasyonunu kullanan sınıfları aspekt
olarak iş mantığı ile harmanlayabilir.
10. Spring AOP’un Sınırları
 Spring AOP kullanildiginda sadece public olan metotlar join point olarak seçilebilir . Bunun
yani sira olusturulan aspektler sadece Spring nesneleri ile harmanlanabilir .
 Daha genis çapli join point ve pointcut seçimi için AspectJ çatisinin kullanimi tavsiye
edilmektedir.