Excepție de manipulare
În metoda OnEntry, este creată o tranzacție, metoda OnException se ocupă de excepție, iar metoda OnSuccess este apelată dacă operația nu a aruncat excepții. Clasa TransactionAttribute este un aspect în terminologia AOP, metodele OnEntry, OnException, OnExit sunt sfaturi. Rămâne doar să aflăm cum aplicăm acest aspect. Pentru a face acest lucru, trebuie să marcați metoda DeleteOrder cu atributul [Transaction].
Cache rezultatele unui apel de funcții
Valorile cache sunt stocate în variabila clasa _cache, care este declarată ca Dicționar
Metoda _methodName stochează numele metodei, devine cunoscută la etapa de compilare.
Un exemplu de utilizare a cache-ului pentru apeluri funcționale este după cum urmează.
Validarea valorilor de proprietate
Validarea la atribuirea unei noi valori unei proprietăți complică codul de atribuire. Ar fi convenabil să facem acest lucru declarativ cu ajutorul atributelor proprietății. În exemplul de mai jos, proprietatea Customer.Name este bifată utilizând o expresie regulată. Verificarea se efectuează în momentul atribuirii unei noi valori, adică de fapt în setul de punere în aplicare.
Pentru ca acest cod să funcționeze, trebuie să creăm o clasă RegExpValidatorAttribute, derivată de la LocationInterceptionAspect. Acest aspect vă permite să introduceți codul într-un set sau să obțineți implementarea pentru o anumită proprietate.