zcomert / aop-practice

Aspect Oriented Programming Practice

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AOP Practice

Castle Dynamic Proxy and Autofac Implementation

Aspect-oriented programming (AOP), bir başka ifadeyle cepheye-yönelik programlama kulağa oldukça karmaşık gelen teknik bir kavram, fakat algılandığı kadar karmaşık değil. AOP tekniği yazılımcılara basmakalıp ve tekrar eden kod bloklarının kopyalayıp, yapıştırmaktan daha fazla zaman kazandıran ve bu konuda geliştiricileri destekleyen bir programlama tekniğidir. AOP bunu yaparken hem kod bloklarının okunabilirliğini arttırır hem de projelerinize değer katar. Temelde AOP ile kod bloklarına ilişkin olarak:

• Temiz kod blokları elde edilir (clean code)

• Kod bloklarını okumak kolaylaşır (easier to read)

• Hatalara daha az açıktır (less prone to bugs)

• Sürdürülmesi daha kolaydır (easier to maintain)

• Tekrarları azaltır (reduce repetetion)

• Test süreçlerini iyileştirir

AOP kullanmanın temel niyeti logging, caching ve transacting gibi kesişen kaygıların (cross-cutting concerns) veya fonksiyonel olmayan gereksinimlerin yönetimidir. Kes, kopyala ve yapıştırın ötesinde, Proxy pattern ya da decorator pattern gibi yapıları kullanarak kesişen endişeler güvenle yönetilebilir.

AOP gerçekleştirmek üzere; PostSharp ya da Castle DynamicProxy gibi araçlar kullanılabilir. Bu kapsamda bizim tercihimiz Castle DynamicProxy olacaktır. Temelde bir metot çalıştırılırken araya girilerek bir dizi fonksiyonel olmayan gereksinimin karşılanması bu teknik ile gerçekleştirilmektedir.

Yazılım Evi

Bu Repository üzerinde tanımlanmış olan uygulamaların videolarına Yazılım Evi Youtube kanalı üzerinden erişim sağlayabilirsiniz. https://www.youtube.com/channel/UCFkGSddGBO-f4gw1otESNqQ

AOP Youtube Oynama Listesi

https://www.youtube.com/watch?v=OxLX_bQrSfo&list=PLK37qYAhi0EfQrIJqPat32-k2wbOOTFYo

About

Aspect Oriented Programming Practice


Languages

Language:C# 100.0%