Rozdíl mezi AOP a OOP

Rozdíl mezi AOP a OOP
Rozdíl mezi AOP a OOP

Video: Rozdíl mezi AOP a OOP

Video: Rozdíl mezi AOP a OOP
Video: CLASSICAL LIBERALISM vs. NEOLIBERALISM | What's the difference? Quick comparison & clear distinction 2024, Listopad
Anonim

AOP vs OOP

AOP (Aspektově orientované programování) a OOP (Objektově orientované programování) jsou dvě programovací paradigmata. Programovací paradigma je základní styl počítačového programování. Programovací paradigmata se liší v tom, jak je reprezentován každý prvek programů a jak je definován každý krok pro řešení problémů. Jak název napovídá, OOP se zaměřuje na reprezentaci problémů pomocí objektů reálného světa a jejich chování, zatímco AOP se zabývá rozdělením programů na samostatné průřezové záležitosti.

Co je AOP?

AOP je programovací paradigma, které se zabývá rozčleněním programu na soudržné oblasti funkčnosti (nazývané obavy), které procházejí více oblastmi, aby se zvýšila modularita. Podpora abstrakcí (jako jsou třídy, metody atd.) pro seskupení a zapouzdření zájmů do jedinečných entit je poskytována v mnoha dalších programovacích paradigmatech. Problémy (jako je „Logging“) jsou však příklady průřezových problémů, protože každá přihlášená část systému je ovlivněna strategií použitou pro protokolování. Hlavním cílem všech implementací AOP je mít vhodné průřezové výrazy pro zachycení všech problémů na jednom místě.

Co je OOP?

V OOP se zaměřujeme na přemýšlení o problému, který je třeba vyřešit, z hlediska prvků reálného světa a na reprezentaci problému z hlediska objektů a jejich chování. Třídy zobrazují abstraktní reprezentace objektů reálného světa. Třídy jsou jako plány nebo šablony, které shromažďují podobné položky nebo věci, které lze seskupit. Třídy mají vlastnosti nazývané atributy. Atributy jsou implementovány jako globální a instanční proměnné. Metody ve třídách představují nebo definují chování těchto tříd. Metody a atributy tříd se nazývají členy třídy. Instance třídy se nazývá objekt. Objekt je tedy datová struktura, která se velmi podobá nějakému skutečnému objektu.

Existuje několik důležitých konceptů OOP, jako je abstrakce dat, zapouzdření, polymorfismus, zasílání zpráv, modularita a dědičnost. Typicky se zapouzdření dosáhne tak, že se atributy stanou soukromými, zatímco se vytvoří veřejné metody, které lze použít pro přístup k těmto atributům. Dědičnost umožňuje uživateli rozšířit třídy (nazývané podtřídy) z jiných tříd (nazývaných supertřídy). Polymorfismus umožňuje programátorovi nahradit objekt třídy místo objektu své nadtřídy. Obvykle se podstatná jména nalezená v definici problému přímo stávají třídami v programu. A podobně se ze sloves stávají metody. Některé z nejoblíbenějších jazyků OOP jsou Java a C.

Jaký je rozdíl mezi AOP a OOP?

Klíčový rozdíl mezi OOP a AOP je v tom, že cílem OOP je rozdělit programovací úlohu na objekty, které zapouzdřují data a metody, zatímco cílem AOP je rozdělit program na průřezové problémy. Ve skutečnosti AOP není konkurentem OOP, protože vyšel z paradigmatu OOP. AOP rozšiřuje OOP tím, že řeší několik jeho problémů. AOP zavádí elegantní způsoby, jak implementovat průřezové problémy (které mohly být v odpovídající implementaci OOP rozptýleny na několika místech) na jednom místě. Proto AOP činí program čistším a volněji spojený.

Doporučuje: