Programowanie zorientowane aspektowo w C++

Opublikowane: 18/04/2015

w kategorii Zasoby.

Programowanie zorientowane aspektowo (ang. "aspect-oriented programming" czyli AOP) to sposób implementacji nowych funkcjonalności klas bez zmiany kodu klasy. Np. po to aby dodać logowanie do wybranych klas. Implementuje to separację kodu w inny sposób niż w pozostałych paradygmatach jak OOP.

Jest ciężki sposób na zastosowanie tego - z pomocą prekompilatora takiego jak AspectC++.

Jest też kilka innych sposobów (obejść) na implementację tego w standardowym C++:

  • Curiously Recurring Template (zobacz zasoby poniżej)
  • Execute-Around Pointer
  • projektowanie bazujące na polisach (które jest podobne ale nie jest tym samym co aspakty), zobacz Metaprogramowanie w C++ które pozwala na implementację przy zerowym koszcie opcjonalnych elementów metod

Aspekty - artykuły

Aspekty - rozwiązania

Udostępnij

obserwuj