Programování

Moje dva centy na aspektově orientované programování

AOP (aspektově orientované programování) je programovací styl, který lze přijmout k definování určitých zásad, které se zase používají k definování a správě průřezových problémů v aplikaci. V podstatě jde o paradigma programování, které umožňuje přizpůsobení vaší aplikace změnám.

Když tedy využijete výhod AOP ve svých aplikacích, můžete zvýšit modularitu vaší aplikace oddělením obav. AOP můžete použít ke snížení nepořádku kódu zlepšením čitelnosti a udržovatelnosti kódu.

Je třeba poznamenat, že AOP je pouze nové paradigma programování - v žádném případě nenahrazuje OOP. Spíše doplňuje OOP tím, že poskytuje další způsob, jak dosáhnout modularity a také snížit nepořádek kódu.

V AOP může být aspekt definován jako modularizace koncernu. Tento styl programování se proto jmenuje aspektově orientované programování. V OOP můžete využít výhod tříd k dosažení modularity. Naopak, modularitu v AOP můžete dosáhnout prostřednictvím aspektů.

Podstatou AOP je zapouzdření funkcí, které jsou běžné, a zároveň umožňuje vaší aplikaci využívat tyto funkce podle potřeby. Mezi tyto běžné funkce nebo průřezové problémy patří správa zabezpečení, protokolování, oznámení, správa transakcí, správa výjimek atd. Mezi oblíbené rámce AOP patří: PostSharp, Spring Framework, Castle Windsor, Microsoft Unity Framework, Policy Injection Block atd.

Seznámení s terminologiemi AOP

Při práci s AOP byste měli znát některé z jeho klíčových konceptů. Patří mezi ně následující:

  • Aspekt: ​​Průřezový problém nebo opakovaně použitelný modul. V aplikaci můžete mít jeden nebo více aspektů.
  • Úvod: Funkce, která se používá k deklaraci dalších metod a atributů pro konkrétní typ.
  • Připojit se k bodu: Bod, kde můžete připojit nějaký aspekt.
  • Rada: Akce, která se provádí v určitém spojovacím bodě. Používá se také k definování akce, která by měla být provedena před nebo po provedení metody.
  • Tkaní: Poskytuje řešení vašeho zamotaného kódu. Umožňuje vám propojit různé aspekty s jinými objekty aplikace. Všimněte si, že v závislosti na tom, kdy dojde k tkaní, můžete mít čas kompilace, čas načítání nebo tkaní za běhu.
  • Cílový objekt: Cílový objekt může být definován jako ten, který je doporučen jedním nebo více aspekty ve vaší aplikaci.
  • Pointcut: Určuje pravidla tkaní, tj. Slouží k definování bodu spojení, kde lze ve vaší aplikaci použít konkrétní radu.

Proč bych měl používat AOP?

OOP již podporuje opětovnou použitelnost a flexibilitu kódu. Proč tedy potřebujete AOP? AOP je paradigma programování, které má také všechny výhody OOP. Přidáno k tomu můžete podpořit volné propojení a umožnit vaší aplikaci používat zásuvné aspekty, kdykoli je potřeba, bez jakékoli změny v kódu vaší aplikace. Při použití AOP se můžete zaměřit na obchodní logiku vaší aplikace a současně propojit aspekty s obchodní logikou. Jednou z hlavních výhod používání AOP je, že stačí napsat své aspekty jednou a pak je můžete znovu použít kdekoli ve své aplikaci. AOP je tedy skvělý způsob, jak snížit složitost zdrojového kódu vaší aplikace a vyčistit váš kód. Mezi výhody AOP patří:

  • Snížený nepořádek v kódu
  • Snížená redundance kódu
  • Snadnější údržba kódu
  • Rychlejší vývoj
  • Vylepšená čitelnost kódu

Jak ve své aplikaci dosáhnu AOP?

Chcete-li implementovat AOP ve svých aplikacích, první věcí, kterou musíte udělat, je izolovat aspekty vaší aplikace od obchodní logiky. Nejdůležitější věcí, kterou byste měli mít na paměti při navrhování aspektů, je to, že by měli být nezávislí a neměli by mít žádnou závislost na aplikaci. Měli byste být schopni otestovat také aspekty nezávisle na sobě. Dále byste měli tyto aspekty aplikovat na zdrojový kód aplikace tak, že je propletete všude tam, kde je aplikace potřebuje. Jedním ze způsobů, jak můžete implementovat AOP ve svých aplikacích, je použití atributů.